<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            java語言

            的java圖像處理的方法

            時間:2025-01-20 07:38:54 java語言 我要投稿

            的java圖像處理的方法

              項目需要調整圖片服務器的解決方案,這次調整使用fastdfs存儲小文件,也就是圖片,因為現在還沒有fastdfs的.net版的客服端,所以理所當然把處理圖片放到了java這塊,使用java來處理圖片并且上傳到fastdfs上,下面是小編為大家搜索整理的java圖像處理的方法,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!

              圖像剪切

              對于一個已經存在的Image對象,要得到它的一個局部圖像,可以使用下面的步驟:

              //import java.awt.*;

              //import java.awt.image.*;

              Image croppedImage;

              ImageFilter cropFilter;

              CropFilter =new CropImageFilter(25,30,75,75);//四個參數分別為圖像起點坐標和寬高,即CropImageFilter(int x,int y,int width,int height),詳細情況請參考API

              CroppedImage= Toolkit.getDefaultToolkit().createImage(new FilteredImageSource(sourceImage.getSource(),cropFilter));

              //如果是在Component的子類中使用,可以將上面的Toolkit.getDefaultToolkit().去掉。

              //FilteredImageSource是一個ImageProducer對象。

              圖像縮放

              對于一個已經存在的Image對象,得到它的一個縮放的Image對象可以使用Image的getScaledInstance方法:

              Image scaledImage=sourceImage. getScaledInstance(100,100, Image.SCALE_DEFAULT);//得到一個100X100的圖像

              Image doubledImage=sourceImage. getScaledInstance(sourceImage.getWidth(this)*2,sourceImage.getHeight(this)*2, Image.SCALE_DEFAULT);//得到一個放大兩倍的圖像,這個程序一般在一個swing的組件中使用,而類Jcomponent實現了圖像觀察者接口ImageObserver,所有可以使用this。

              //其它情況請參考API。

              灰度變換

              下面的程序使用三種方法對一個彩色圖像進行灰度變換,變換的效果都不一樣。一般而言,灰度變換的算法是將象素的三個顏色分量使用 R*0.3+G*0.59+B*0.11得到灰度值,然后將之賦值給紅綠藍,這樣顏色取得的效果就是灰度的。另一種就是取紅綠藍三色中的最大值作為灰度值。java核心包也有一種算法,但是沒有看源代碼,不知道具體算法是什么樣的,效果和上述不同。

              /* GrayFilter.java*/

              /*@author:cherami */

              /*email:cherami@163.net*/

              import java.awt.image.*;

              public class GrayFilter extends RGBImageFilter {

              int modelStyle;

              public GrayFilter() {

              modelStyle=GrayModel.CS_MAX;

              canFilterIndexColorModel=true;

              }

              public GrayFilter(int style) {

              modelStyle=style;

              canFilterIndexColorModel=true;

              }

              public void setColorModel(ColorModel cm) {

              if (modelStyle==GrayModel.CS_MAX) {

              substituteColorModel(cm,new GrayModel(cm));

              }

              else if (modelStyle==GrayModel.CS_FLOAT) {

              substituteColorModel(cm,new GrayModel(cm,modelStyle));

              }

              public int filterRGB(int x,int y,int pixel) {

              return pixel;

              }

              }

              /* GrayModel.java*/

              /*@author:cherami */

              /*email:cherami@163.net*/

              import java.awt.image.*;

              public class GrayModel extends ColorModel {

              public static final int CS_MAX=0;

              public static final int CS_FLOAT=1;

              ColorModel sourceModel;

              int modelStyle;

              public GrayModel(ColorModel sourceModel) {

              super(sourceModel.getPixelSize());

              this.sourceModel=sourceModel;

              modelStyle=0;

              }

            【的java圖像處理的方法】相關文章:

            java圖像處理的方法10-18

            java圖像處理的方法大全09-03

            java處理BOM文本的方法08-31

            Java編程中異常處理的方法10-02

            JAVA常見錯誤處理方法08-13

            用Java處理各類圖片的方法08-19

            ps圖像處理技巧07-05

            Photoshop圖像處理技巧08-19

            Java 異常處理09-16

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看