欧美日韩不卡一区二区三区,www.蜜臀.com,高清国产一区二区三区四区五区,欧美日韩三级视频,欧美性综合,精品国产91久久久久久,99a精品视频在线观看

java語言

的java圖像處理的方法

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

的java圖像處理的方法

  項(xiàng)目需要調(diào)整圖片服務(wù)器的解決方案,這次調(diào)整使用fastdfs存儲小文件,也就是圖片,因?yàn)楝F(xiàn)在還沒有fastdfs的.net版的客服端,所以理所當(dāng)然把處理圖片放到了java這塊,使用java來處理圖片并且上傳到fastdfs上,下面是小編為大家搜索整理的java圖像處理的方法,希望能給大家?guī)韼椭?更多精彩內(nèi)容請及時(shí)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

  圖像剪切

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

  //import java.awt.*;

  //import java.awt.image.*;

  Image croppedImage;

  ImageFilter cropFilter;

  CropFilter =new CropImageFilter(25,30,75,75);//四個(gè)參數(shù)分別為圖像起點(diǎn)坐標(biāo)和寬高,即CropImageFilter(int x,int y,int width,int height),詳細(xì)情況請參考API

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

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

  //FilteredImageSource是一個(gè)ImageProducer對象。

  圖像縮放

  對于一個(gè)已經(jīng)存在的Image對象,得到它的一個(gè)縮放的Image對象可以使用Image的getScaledInstance方法:

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

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

  //其它情況請參考API。

  灰度變換

  下面的程序使用三種方法對一個(gè)彩色圖像進(jìn)行灰度變換,變換的效果都不一樣。一般而言,灰度變換的算法是將象素的三個(gè)顏色分量使用 R*0.3+G*0.59+B*0.11得到灰度值,然后將之賦值給紅綠藍(lán),這樣顏色取得的效果就是灰度的。另一種就是取紅綠藍(lán)三色中的最大值作為灰度值。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圖像處理的方法】相關(guān)文章:

java圖像處理的方法10-18

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

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

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

JAVA常見錯(cuò)誤處理方法08-13

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

ps圖像處理技巧07-05

Photoshop圖像處理技巧08-19

Java 異常處理09-16