不想再继续为汉语编程的问题浪费时间,印度的SKTN下场怎么样大家一目了然。

而在我Blog发表评论的,只要是用人类语言,我都可以接受。就算有个别不用人类语言的,有空时我也会尽量帮那些生物往人类语言方向矫正。

——————————————————————————————

我们都知道,微软对其原有GDI(Graphics Device Interface)改进后形成了现在的GDI+。作为图形设备接口GDI的继任者,其对GDI的很多功能都进行了优化,而且还提供了许多方便实用的附加功能。

以此为基础,在.Net环境下可以很轻松的完成一系列复杂的图形操作。而与之相较,Java的图像接口在图像处理功能上则略显单薄,而部分操作较之C#等还有些复杂。

所以最近我打算在本人的loonframework项目中将一些java图像接口二次封装,及添加部分新的功能进入。下面我公布的,是一些在Loonframework框架中将新添加的图像处理类。当然,这些还在测试阶段,最后的确定版估计会与此有较大出入,有改进意见的欢迎邮寄到我的Email:[email protected]。(最近挺懒的……一写代码就犯困……下班只看漫画度日……)

BaseImage.java:
强化JAVA图形操作类packageorg.loon.framework.game.test.image;
强化JAVA图形操作类
强化JAVA图形操作类
importjava.awt.Image;
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*<p>
强化JAVA图形操作类*Title:LoonFramework
强化JAVA图形操作类*</p>
强化JAVA图形操作类*<p>
强化JAVA图形操作类*Description:基础Bitmap接口
强化JAVA图形操作类*</p>
强化JAVA图形操作类*<p>
强化JAVA图形操作类*Copyright:Copyright(c)2007
强化JAVA图形操作类*</p>
强化JAVA图形操作类*<p>
强化JAVA图形操作类*Company:LoonFramework
强化JAVA图形操作类*</p>
强化JAVA图形操作类*
强化JAVA图形操作类*
@authorchenpeng
强化JAVA图形操作类*@email:[email protected]
强化JAVA图形操作类*
@version0.1
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicinterfaceBaseImage...{
强化JAVA图形操作类
强化JAVA图形操作类
finalstaticintBITMAPFILEHEADER_SIZE=14;
强化JAVA图形操作类
强化JAVA图形操作类
finalstaticintBITMAPINFOHEADER_SIZE=40;
强化JAVA图形操作类
强化JAVA图形操作类
abstractintgetWidth();
强化JAVA图形操作类
强化JAVA图形操作类
abstractintgetHeight();
强化JAVA图形操作类
强化JAVA图形操作类
abstractLColorgetPixel(intx,inty);
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*设定像素点
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramx
强化JAVA图形操作类*
@paramy
强化JAVA图形操作类*
@paramrgb
强化JAVA图形操作类*
@return
强化JAVA图形操作类
*/

强化JAVA图形操作类
abstractbooleansetPixel(intx,inty,intrgb);
强化JAVA图形操作类
强化JAVA图形操作类
abstractbooleansetPixel(intx,inty,intr,intg,intb);
强化JAVA图形操作类
强化JAVA图形操作类
abstractbooleansetPixel(intx,inty,LColorcolor);
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*移动像素
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramdx
强化JAVA图形操作类*
@paramdy
强化JAVA图形操作类
*/

强化JAVA图形操作类
abstractvoidmovePixels(intdx,intdy);
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*清除像素
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramrgb
强化JAVA图形操作类
*/

强化JAVA图形操作类
abstractvoidclear(intrgb);
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*获得LGraphics
强化JAVA图形操作类*
强化JAVA图形操作类*
@return
强化JAVA图形操作类
*/

强化JAVA图形操作类
abstractLGraphicsgetLGraphics();
强化JAVA图形操作类
强化JAVA图形操作类
abstractImagegetImage();
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*设定指定x,y交集
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramx
强化JAVA图形操作类*
@paramy
强化JAVA图形操作类*
@return
强化JAVA图形操作类
*/

强化JAVA图形操作类
abstractbooleansetTransparent(intx,inty);
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*设定指定color出现处
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramval
强化JAVA图形操作类
*/

强化JAVA图形操作类
abstractvoidsetTransparent(LColorcolor);
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*替换指定颜色
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramcolor1
强化JAVA图形操作类*
@paramcolor2
强化JAVA图形操作类
*/

强化JAVA图形操作类
abstractvoidsetDisplace(LColorcolor1,LColorcolor2);
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*保存自身到指定路径
强化JAVA图形操作类*
强化JAVA图形操作类*
@parampath
强化JAVA图形操作类
*/

强化JAVA图形操作类
abstractvoidsave(Stringpath);
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*保存图像到指定路径
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramimage
强化JAVA图形操作类*
@parampath
强化JAVA图形操作类
*/

强化JAVA图形操作类
abstractvoidsave(Imageimage,Stringpath);
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*保存图像到指定路径为指定大小
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramimage
强化JAVA图形操作类*
@parampath
强化JAVA图形操作类*
@paramwidth
强化JAVA图形操作类*
@paramheight
强化JAVA图形操作类
*/

强化JAVA图形操作类
abstractvoidsave(Imageimage,Stringpath,intwidth,intheight);
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类

LColor.java:
强化JAVA图形操作类packageorg.loon.framework.game.test.image;
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*<p>Title:LoonFramework</p>
强化JAVA图形操作类*<p>Description:loonframework用color</p>
强化JAVA图形操作类*<p>Copyright:Copyright(c)2007</p>
强化JAVA图形操作类*<p>Company:LoonFramework</p>
强化JAVA图形操作类*
@authorchenpeng
强化JAVA图形操作类*@email:[email protected]
强化JAVA图形操作类*
@version0.1
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicclassLColor...{
强化JAVA图形操作类
强化JAVA图形操作类
强化JAVA图形操作类
intR=0;
强化JAVA图形操作类
intG=0;
强化JAVA图形操作类
intB=0;
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicLColor()...{}
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*注入r,g,b数值
强化JAVA图形操作类*
@paramr
强化JAVA图形操作类*
@paramg
强化JAVA图形操作类*
@paramb
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicLColor(intr,intg,intb)...{
强化JAVA图形操作类
this.R=r;
强化JAVA图形操作类
this.G=g;
强化JAVA图形操作类
this.B=b;
强化JAVA图形操作类}

强化JAVA图形操作类}

LGraphics:

强化JAVA图形操作类packageorg.loon.framework.game.test.image;
强化JAVA图形操作类
强化JAVA图形操作类
importjava.awt.Color;
强化JAVA图形操作类
importjava.awt.Font;
强化JAVA图形操作类
importjava.awt.FontMetrics;
强化JAVA图形操作类
importjava.awt.Graphics;
强化JAVA图形操作类
importjava.awt.Polygon;
强化JAVA图形操作类
importjava.awt.font.LineMetrics;
强化JAVA图形操作类
强化JAVA图形操作类
importorg.loon.framework.game.test.image.BaseImage;
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*<p>Title:LoonFramework</p>
强化JAVA图形操作类*<p>Description:loonframework用graphics,开发中……</p>
强化JAVA图形操作类*<p>Copyright:Copyright(c)2007</p>
强化JAVA图形操作类*<p>Company:LoonFramework</p>
强化JAVA图形操作类*
@authorchenpeng
强化JAVA图形操作类*@email:[email protected]
强化JAVA图形操作类*
@version0.1
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicclassLGraphics...{
强化JAVA图形操作类
强化JAVA图形操作类Graphics_g
=null;
强化JAVA图形操作类
强化JAVA图形操作类Font_font;
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicLGraphics()...{
强化JAVA图形操作类_font
=newFont(null,Font.PLAIN,12);
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicLGraphics(Graphicsg)...{
强化JAVA图形操作类
强化JAVA图形操作类_font
=newFont(null,Font.PLAIN,12);
强化JAVA图形操作类
强化JAVA图形操作类setGraphics(g);
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicvoidsetGraphics(Graphicsg)...{
强化JAVA图形操作类
强化JAVA图形操作类_g
=g;
强化JAVA图形操作类
强化JAVA图形操作类_g.setFont(_font);
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicvoidsetRGB(intrgb)...{
强化JAVA图形操作类
强化JAVA图形操作类_g.setColor(
newColor(rgb));
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicvoidsetRGB(intr,intg,intb)...{
强化JAVA图形操作类
强化JAVA图形操作类
intrgb=(r<<16)|(g<<8)|b;
强化JAVA图形操作类
强化JAVA图形操作类_g.setColor(
newColor(rgb));
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicvoiddrawLine(intx1,inty1,intx2,inty2,intrgb)...{
强化JAVA图形操作类
强化JAVA图形操作类setRGB(rgb);
强化JAVA图形操作类
强化JAVA图形操作类_g.drawLine(x1,y1,x2,y2);
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicvoiddrawRect(intx,inty,intwidth,intheight)...{
强化JAVA图形操作类_g.drawRect(x,y,width,height);
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicvoiddrawRect(intx,inty,intwidth,intheight,intrgb)...{
强化JAVA图形操作类
强化JAVA图形操作类setRGB(rgb);
强化JAVA图形操作类
强化JAVA图形操作类_g.drawRect(x,y,width,height);
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicvoidfillRect(intx,inty,intwidth,intheight)...{
强化JAVA图形操作类_g.fillRect(x,y,width,height);
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicvoidfillRect(intx,inty,intwidth,intheight,intrgb)...{
强化JAVA图形操作类
强化JAVA图形操作类setRGB(rgb);
强化JAVA图形操作类
强化JAVA图形操作类_g.fillRect(x,y,width,height);
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicvoidfillTriangle(intx1,inty1,intx2,inty2,intx3,inty3)...{
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
if(_g==null)...{
强化JAVA图形操作类
return;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类Polygonp
=newPolygon();
强化JAVA图形操作类
强化JAVA图形操作类p.addPoint(x1,y1);
强化JAVA图形操作类p.addPoint(x2,y2);
强化JAVA图形操作类p.addPoint(x3,y3);
强化JAVA图形操作类
强化JAVA图形操作类_g.fillPolygon(p);
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicvoiddrawImage(BaseImageimg,intx,inty)...{
强化JAVA图形操作类_g.drawImage(img.getImage(),x,y,
null);
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicintgetStringWidth(Stringstr)...{
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
if(str==null||str.length()<1)...{
强化JAVA图形操作类
return0;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类FontMetricsfm
=_g.getFontMetrics();
强化JAVA图形操作类
强化JAVA图形操作类
intw=0;
强化JAVA图形操作类
强化JAVA图形操作类w
=fm.stringWidth(str);
强化JAVA图形操作类
强化JAVA图形操作类
returnw;
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicintgetStringHeight(Stringstr)...{
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
if(str==null||str.length()<1)...{
强化JAVA图形操作类
return0;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类FontMetricsfm
=_g.getFontMetrics();
强化JAVA图形操作类
强化JAVA图形操作类LineMetricslm
=fm.getLineMetrics(str,_g);
强化JAVA图形操作类
强化JAVA图形操作类
inth=0;
强化JAVA图形操作类
强化JAVA图形操作类h
=(int)(lm.getHeight());
强化JAVA图形操作类
强化JAVA图形操作类
returnh;
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicvoiddrawString(Stringstr,intx,inty)...{
强化JAVA图形操作类
强化JAVA图形操作类y
+=getStringHeight(str);
强化JAVA图形操作类
强化JAVA图形操作类_g.drawString(str,x,y);
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicvoiddrawString(Stringstr,intx,inty,intrgb)...{
强化JAVA图形操作类
强化JAVA图形操作类setRGB(rgb);
强化JAVA图形操作类
强化JAVA图形操作类drawString(str,x,y);
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicGraphicsgetGraphics()...{
强化JAVA图形操作类
return_g;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类

Bitmap.java:
(你没看错,偶就是在学M$……)

强化JAVA图形操作类packageorg.loon.framework.game.test.image;
强化JAVA图形操作类
强化JAVA图形操作类
importjava.awt.AlphaComposite;
强化JAVA图形操作类
importjava.awt.Container;
强化JAVA图形操作类
importjava.awt.Graphics;
强化JAVA图形操作类
importjava.awt.Graphics2D;
强化JAVA图形操作类
importjava.awt.Image;
强化JAVA图形操作类
importjava.awt.MediaTracker;
强化JAVA图形操作类
importjava.awt.Toolkit;
强化JAVA图形操作类
importjava.awt.Transparency;
强化JAVA图形操作类
importjava.awt.color.ColorSpace;
强化JAVA图形操作类
importjava.awt.image.BufferedImage;
强化JAVA图形操作类
importjava.awt.image.ColorModel;
强化JAVA图形操作类
importjava.awt.image.ComponentColorModel;
强化JAVA图形操作类
importjava.awt.image.DataBuffer;
强化JAVA图形操作类
importjava.awt.image.DataBufferByte;
强化JAVA图形操作类
importjava.awt.image.PixelGrabber;
强化JAVA图形操作类
importjava.awt.image.Raster;
强化JAVA图形操作类
importjava.awt.image.WritableRaster;
强化JAVA图形操作类
importjava.io.BufferedInputStream;
强化JAVA图形操作类
importjava.io.ByteArrayOutputStream;
强化JAVA图形操作类
importjava.io.File;
强化JAVA图形操作类
importjava.io.FileInputStream;
强化JAVA图形操作类
importjava.io.FileNotFoundException;
强化JAVA图形操作类
importjava.io.FileOutputStream;
强化JAVA图形操作类
importjava.io.IOException;
强化JAVA图形操作类
importjava.io.InputStream;
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*<p>
强化JAVA图形操作类*Title:LoonFramework
强化JAVA图形操作类*</p>
强化JAVA图形操作类*<p>
强化JAVA图形操作类*Description:loonframework用Bitmap,封装了image的相关操作,开发中……
强化JAVA图形操作类*</p>
强化JAVA图形操作类*<p>
强化JAVA图形操作类*Copyright:Copyright(c)2007
强化JAVA图形操作类*</p>
强化JAVA图形操作类*<p>
强化JAVA图形操作类*Company:LoonFramework
强化JAVA图形操作类*</p>
强化JAVA图形操作类*
强化JAVA图形操作类*
@authorchenpeng
强化JAVA图形操作类*@email:[email protected]
强化JAVA图形操作类*
@version0.1
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicclassBitmapimplementsCloneable,BaseImage...{
强化JAVA图形操作类
强化JAVA图形操作类
byte_bitmapFileHeader[]=newbyte[14];
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
byte_bfType[]=...{'B','M'};
强化JAVA图形操作类
强化JAVA图形操作类
int_bfReserved1=0;
强化JAVA图形操作类
强化JAVA图形操作类
int_bfReserved2=0;
强化JAVA图形操作类
强化JAVA图形操作类
int_bfOffBits=BITMAPFILEHEADER_SIZE+BITMAPINFOHEADER_SIZE;
强化JAVA图形操作类
强化JAVA图形操作类
byte_bitmapInfoHeader[]=newbyte[40];
强化JAVA图形操作类
强化JAVA图形操作类
int_biPlanes=1;
强化JAVA图形操作类
强化JAVA图形操作类
int_biBitCount=24;
强化JAVA图形操作类
强化JAVA图形操作类
int_biCompression=0;
强化JAVA图形操作类
强化JAVA图形操作类
int_biXPelsPerMeter=0x0;
强化JAVA图形操作类
强化JAVA图形操作类
int_biYPelsPerMeter=0x0;
强化JAVA图形操作类
强化JAVA图形操作类
int_biClrUsed=0;
强化JAVA图形操作类
强化JAVA图形操作类
int_biClrImportant=0;
强化JAVA图形操作类
强化JAVA图形操作类
int_bfSize=0;
强化JAVA图形操作类
强化JAVA图形操作类
int_biSizeImage=0x030000;
强化JAVA图形操作类
强化JAVA图形操作类
int_biSize=BITMAPINFOHEADER_SIZE;
强化JAVA图形操作类
强化JAVA图形操作类
int_biWidth=0;
强化JAVA图形操作类
强化JAVA图形操作类
int_biHeight=0;
强化JAVA图形操作类
强化JAVA图形操作类
int_bitmap[];
强化JAVA图形操作类
强化JAVA图形操作类FileOutputStream_output;
强化JAVA图形操作类
强化JAVA图形操作类
privateBufferedImage_img;
强化JAVA图形操作类
强化JAVA图形操作类
privateLGraphics_g;
强化JAVA图形操作类
强化JAVA图形操作类
privateBufferedImage_back;
强化JAVA图形操作类
强化JAVA图形操作类
privateGraphics2D_bg;
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*将byte[]转为image
强化JAVA图形操作类*
强化JAVA图形操作类*
@parambytes
强化JAVA图形操作类*
@return
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicImagegetImage(byte[]bytes)...{
强化JAVA图形操作类
returnToolkit.getDefaultToolkit().createImage(bytes);
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*获得BufferedImage
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramwidth
强化JAVA图形操作类*
@paramheight
强化JAVA图形操作类*
@paramdata
强化JAVA图形操作类*
@return
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicBufferedImagegetBufferedImage(intwidth,intheight,byte[]data)...{
强化JAVA图形操作类DataBufferbuffer
=newDataBufferByte(data,width*height);
强化JAVA图形操作类
intpixelStride=4;
强化JAVA图形操作类
intscanlineStride=4*width;
强化JAVA图形操作类强化JAVA图形操作类
int[]bandOffsets=...{0,1,2};
强化JAVA图形操作类WritableRasterraster
=Raster.createInterleavedRaster(buffer,width,
强化JAVA图形操作类height,scanlineStride,pixelStride,bandOffsets,
null);
强化JAVA图形操作类ColorSpacecolorSpace
=ColorSpace.getInstance(ColorSpace.CS_sRGB);
强化JAVA图形操作类
booleanhasAlpha=false;
强化JAVA图形操作类
booleanisAlphaPremultiplied=false;
强化JAVA图形操作类
inttransparency=Transparency.OPAQUE;
强化JAVA图形操作类
inttransferType=DataBuffer.TYPE_BYTE;
强化JAVA图形操作类ColorModelcolorModel
=newComponentColorModel(colorSpace,hasAlpha,
强化JAVA图形操作类isAlphaPremultiplied,transparency,transferType);
强化JAVA图形操作类
returnnewBufferedImage(colorModel,raster,isAlphaPremultiplied,null);
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*生成指定宽与高的空白图像。
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramwidth
强化JAVA图形操作类*
@paramheight
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicBitmap(intwidth,intheight)...{
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
try...{
强化JAVA图形操作类_img
=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
强化JAVA图形操作类强化JAVA图形操作类}
catch(Exceptione)...{
强化JAVA图形操作类_img
=null;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
if(_img!=null)...{
强化JAVA图形操作类
强化JAVA图形操作类_g
=newLGraphics();
强化JAVA图形操作类_g.setGraphics(_img.createGraphics());
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类}
else...{
强化JAVA图形操作类_g
=null;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
try...{
强化JAVA图形操作类_back
=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
强化JAVA图形操作类强化JAVA图形操作类}
catch(Exceptione)...{
强化JAVA图形操作类_back
=null;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
if(_back!=null)...{
强化JAVA图形操作类_bg
=_back.createGraphics();
强化JAVA图形操作类强化JAVA图形操作类}
else...{
强化JAVA图形操作类_bg
=null;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*追踪载入图像的实例
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramimage
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
finalprivatevoidtrackerImage(Imageimage)...{
强化JAVA图形操作类MediaTrackermediaTracker
=newMediaTracker(newContainer());
强化JAVA图形操作类mediaTracker.addImage(image,
0);
强化JAVA图形操作类强化JAVA图形操作类
try...{
强化JAVA图形操作类mediaTracker.waitForID(
0);
强化JAVA图形操作类强化JAVA图形操作类}
catch(InterruptedExceptione)...{
强化JAVA图形操作类e.printStackTrace();
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*以pixels构造bitmap
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramwidth
强化JAVA图形操作类*
@paramheight
强化JAVA图形操作类*
@parampixels
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicBitmap(intwidth,intheight,int[]pixels)...{
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
try...{
强化JAVA图形操作类_img
=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
强化JAVA图形操作类强化JAVA图形操作类}
catch(Exceptione)...{
强化JAVA图形操作类_img
=null;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
if(_img!=null)...{
强化JAVA图形操作类
强化JAVA图形操作类_g
=newLGraphics();
强化JAVA图形操作类
强化JAVA图形操作类_g.setGraphics(_img.getGraphics());
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类}
else...{
强化JAVA图形操作类_g
=null;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
if(_img==null||pixels.length<width*height)...{
强化JAVA图形操作类
return;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
for(inti=0;i<height;i++)...{
强化JAVA图形操作类强化JAVA图形操作类
for(intj=0;j<width;j++)...{
强化JAVA图形操作类setPixel(j,i,pixels[j
+i*width]);
强化JAVA图形操作类}

强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
try...{
强化JAVA图形操作类_back
=newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);
强化JAVA图形操作类强化JAVA图形操作类}
catch(Exceptione)...{
强化JAVA图形操作类_back
=null;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
if(_back!=null)...{
强化JAVA图形操作类_bg
=_back.createGraphics();
强化JAVA图形操作类强化JAVA图形操作类}
else...{
强化JAVA图形操作类_bg
=null;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*以指定路径载入bitmap
强化JAVA图形操作类*
强化JAVA图形操作类*
@parampath
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicBitmap(Stringpath)...{
强化JAVA图形操作类
this(getDataSource(path));
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*以inputstream载入bitmap
强化JAVA图形操作类*
强化JAVA图形操作类*
@paraminputstream
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicBitmap(InputStreaminputstream)...{
强化JAVA图形操作类
this(getDataSource(inputstream));
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*将byte[]转为bitmap
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramdata
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicBitmap(byte[]data)...{
强化JAVA图形操作类
this(Toolkit.getDefaultToolkit().createImage(data));
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*将image直接注入bitmap
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramdata
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicBitmap(Imageimage)...{
强化JAVA图形操作类强化JAVA图形操作类
try...{
强化JAVA图形操作类_img
=getBufferedImage(image);
强化JAVA图形操作类强化JAVA图形操作类}
catch(Exceptione)...{
强化JAVA图形操作类_img
=null;
强化JAVA图形操作类}

强化JAVA图形操作类强化JAVA图形操作类
if(_img!=null)...{
强化JAVA图形操作类_g
=newLGraphics();
强化JAVA图形操作类_g.setGraphics(_img.createGraphics());
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
try...{
强化JAVA图形操作类_back
=newBufferedImage(_img.getWidth(),_img.getHeight(),
强化JAVA图形操作类BufferedImage.TYPE_INT_RGB);
强化JAVA图形操作类强化JAVA图形操作类}
catch(Exceptione)...{
强化JAVA图形操作类_back
=null;
强化JAVA图形操作类}

强化JAVA图形操作类强化JAVA图形操作类
if(_back!=null)...{
强化JAVA图形操作类_bg
=_back.createGraphics();
强化JAVA图形操作类强化JAVA图形操作类}
else...{
强化JAVA图形操作类_bg
=null;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类}
else...{
强化JAVA图形操作类_g
=null;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*通过物理路径获得byte[]
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramname
强化JAVA图形操作类*
@return
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
finalstaticprivatebyte[]getDataSource(Stringname)...{
强化JAVA图形操作类FileInputStreamfileInput;
强化JAVA图形操作类强化JAVA图形操作类
try...{
强化JAVA图形操作类fileInput
=newFileInputStream(newFile(name));
强化JAVA图形操作类强化JAVA图形操作类}
catch(FileNotFoundExceptione)...{
强化JAVA图形操作类fileInput
=null;
强化JAVA图形操作类}

强化JAVA图形操作类BufferedInputStreambufferedInput
=newBufferedInputStream(fileInput);
强化JAVA图形操作类
returngetDataSource(bufferedInput);
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*将image转为BufferedImage
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramimage
强化JAVA图形操作类*
@return
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicBufferedImagegetBufferedImage(Imageimage)...{
强化JAVA图形操作类trackerImage(image);
强化JAVA图形操作类
intwidth=image.getWidth(null);
强化JAVA图形操作类
intheight=image.getHeight(null);
强化JAVA图形操作类BufferedImagebufferedimage
=newBufferedImage(width,height,
强化JAVA图形操作类BufferedImage.TYPE_INT_RGB);
强化JAVA图形操作类Graphicsg
=bufferedimage.getGraphics();
强化JAVA图形操作类g.drawImage(image,
0,0,null);
强化JAVA图形操作类
returnbufferedimage;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*通过InputStream获得byte[]
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramis
强化JAVA图形操作类*
@return
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
finalstaticprivatebyte[]getDataSource(InputStreamis)...{
强化JAVA图形操作类强化JAVA图形操作类
if(is==null)...{
强化JAVA图形操作类
returnnull;
强化JAVA图形操作类}

强化JAVA图形操作类ByteArrayOutputStreambyteArrayOutputStream
=newByteArrayOutputStream();
强化JAVA图形操作类
byte[]arrayByte=null;
强化JAVA图形操作类强化JAVA图形操作类
try...{
强化JAVA图形操作类
byte[]bytes=newbyte[4096];
强化JAVA图形操作类bytes
=newbyte[is.available()];
强化JAVA图形操作类
intread;
强化JAVA图形操作类强化JAVA图形操作类
while((read=is.read(bytes))>=0)...{
强化JAVA图形操作类byteArrayOutputStream.write(bytes,
0,read);
强化JAVA图形操作类}

强化JAVA图形操作类arrayByte
=byteArrayOutputStream.toByteArray();
强化JAVA图形操作类强化JAVA图形操作类}
catch(IOExceptione)...{
强化JAVA图形操作类
returnnull;
强化JAVA图形操作类强化JAVA图形操作类}
finally...{
强化JAVA图形操作类强化JAVA图形操作类
try...{
强化JAVA图形操作类强化JAVA图形操作类
if(byteArrayOutputStream!=null)...{
强化JAVA图形操作类byteArrayOutputStream.close();
强化JAVA图形操作类byteArrayOutputStream
=null;
强化JAVA图形操作类}

强化JAVA图形操作类强化JAVA图形操作类
if(is!=null)...{
强化JAVA图形操作类is.close();
强化JAVA图形操作类is
=null;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类}
catch(IOExceptione)...{
强化JAVA图形操作类}

强化JAVA图形操作类}

强化JAVA图形操作类
//返回byte[]
强化JAVA图形操作类
returnarrayByte;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*获得图像宽
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicintgetWidth()...{
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
if(_img==null)...{
强化JAVA图形操作类
return0;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类
return_img.getWidth();
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*获得图像高
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicintgetHeight()...{
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
if(_img==null)...{
强化JAVA图形操作类
return0;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类
return_img.getHeight();
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*获得指定x,y交集处的图像color
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicLColorgetPixel(intx,inty)...{
强化JAVA图形操作类
if(_img==null||x<0||x>=getWidth()||y<0
强化JAVA图形操作类强化JAVA图形操作类
||y>=getHeight())...{
强化JAVA图形操作类
returnnull;
强化JAVA图形操作类}

强化JAVA图形操作类
intc=_img.getRGB(x,y);
强化JAVA图形操作类LColorcolor
=newLColor();
强化JAVA图形操作类color.R
=(c&0x00ff0000)>>16;
强化JAVA图形操作类color.G
=(c&0x0000ff00)>>8;
强化JAVA图形操作类color.B
=c&0x000000ff;
强化JAVA图形操作类
returncolor;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*返回image实例
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicImagegetImage()...{
强化JAVA图形操作类
return_img;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*返回Graphics
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicLGraphicsgetLGraphics()...{
强化JAVA图形操作类
return_g;
强化JAVA图形操作类}

强化JAVA图形操作类


稍微长点居然发不了,分割………………………………

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*设定指定x,y交集处rgb颜色
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicbooleansetPixel(intx,inty,intrgb)...{
强化JAVA图形操作类
强化JAVA图形操作类
if(_img==null||x<0||x>=getWidth()||y<0
强化JAVA图形操作类强化JAVA图形操作类
||y>=getHeight())...{
强化JAVA图形操作类
returnfalse;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类_img.setRGB(x,y,rgb);
强化JAVA图形操作类
强化JAVA图形操作类
returntrue;
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*设定指定x,y交集处rgb颜色(分别注入)
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicbooleansetPixel(intx,inty,intr,intg,intb)...{
强化JAVA图形操作类
强化JAVA图形操作类
if(_img==null||x<0||x>=getWidth()||y<0
强化JAVA图形操作类强化JAVA图形操作类
||y>=getHeight())...{
强化JAVA图形操作类
returnfalse;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类
intrgb=(r<<16)|(g<<8)|b;
强化JAVA图形操作类
强化JAVA图形操作类_img.setRGB(x,y,rgb);
强化JAVA图形操作类
强化JAVA图形操作类
returntrue;
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*设定指定x,y交集处color
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramx
强化JAVA图形操作类*
@paramy
强化JAVA图形操作类*
@paramcolor
强化JAVA图形操作类*
@return
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicbooleansetPixel(intx,inty,LColorcolor)...{
强化JAVA图形操作类
if(_img==null||x<0||x>=getWidth()||y<0
强化JAVA图形操作类强化JAVA图形操作类
||y>=getHeight())...{
强化JAVA图形操作类
returnfalse;
强化JAVA图形操作类}

强化JAVA图形操作类
intrgb=(color.R<<16)|(color.G<<8)|color.B;
强化JAVA图形操作类_img.setRGB(x,y,rgb);
强化JAVA图形操作类
returntrue;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*设定指定x,y交集像素点。
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicbooleansetTransparent(intx,inty)...{
强化JAVA图形操作类
if(_img==null||x<0||x>=getWidth()||y<0
强化JAVA图形操作类强化JAVA图形操作类
||y>=getHeight())...{
强化JAVA图形操作类
returnfalse;
强化JAVA图形操作类}

强化JAVA图形操作类_img.setRGB(x,y,
0x00000000);
强化JAVA图形操作类
returntrue;
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*设定整个Bitmap的透明度
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramd
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicvoidsetScaleTransform(doubled)...{
强化JAVA图形操作类
intwidth=getWidth();
强化JAVA图形操作类
intheight=getHeight();
强化JAVA图形操作类BufferedImageback
=null;
强化JAVA图形操作类Graphicsbottom
=null;
强化JAVA图形操作类Imagescreen
=null;
强化JAVA图形操作类Graphicsgb
=null;
强化JAVA图形操作类强化JAVA图形操作类
try...{
强化JAVA图形操作类back
=newBufferedImage(width,height,2);
强化JAVA图形操作类bottom
=back.getGraphics();
强化JAVA图形操作类screen
=newBufferedImage(width,height,1);
强化JAVA图形操作类gb
=screen.getGraphics();
强化JAVA图形操作类AlphaCompositealphacomposite
=AlphaComposite.getInstance(3,
强化JAVA图形操作类(
float)d);
强化JAVA图形操作类((Graphics2D)gb).setComposite(alphacomposite);
强化JAVA图形操作类gb.drawImage(_img,
0,0,null);
强化JAVA图形操作类bottom.drawImage(screen,
0,0,null);
强化JAVA图形操作类_img
=back;
强化JAVA图形操作类强化JAVA图形操作类}
catch(Exceptionex)...{
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类}
finally...{
强化JAVA图形操作类强化JAVA图形操作类
if(gb!=null)...{
强化JAVA图形操作类gb
=null;
强化JAVA图形操作类}

强化JAVA图形操作类强化JAVA图形操作类
if(screen!=null)...{
强化JAVA图形操作类screen.flush();
强化JAVA图形操作类screen
=null;
强化JAVA图形操作类}

强化JAVA图形操作类强化JAVA图形操作类
if(bottom!=null)...{
强化JAVA图形操作类bottom
=null;
强化JAVA图形操作类}

强化JAVA图形操作类强化JAVA图形操作类
if(back!=null)...{
强化JAVA图形操作类back.flush();
强化JAVA图形操作类back
=null;
强化JAVA图形操作类}

强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*设定image中指定color数值
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicvoidsetTransparent(LColorcolor)...{
强化JAVA图形操作类
强化JAVA图形操作类WritableRasterwr
=_img.getRaster();
强化JAVA图形操作类
intwidth=getWidth();
强化JAVA图形操作类
intheight=getHeight();
强化JAVA图形操作类强化JAVA图形操作类
if(wr==null||width<1||height<1)...{
强化JAVA图形操作类
return;
强化JAVA图形操作类}

强化JAVA图形操作类强化JAVA图形操作类
for(inti=0;i<width;i++)...{
强化JAVA图形操作类强化JAVA图形操作类
for(intj=0;j<height;j++)...{
强化JAVA图形操作类
intc=_img.getRGB(i,j);
强化JAVA图形操作类LColorcr
=newLColor();
强化JAVA图形操作类cr.R
=(c&0x00ff0000)>>16;
强化JAVA图形操作类cr.G
=(c&0x0000ff00)>>8;
强化JAVA图形操作类cr.B
=c&0x000000ff;
强化JAVA图形操作类强化JAVA图形操作类
if((cr.R==color.R)&&(cr.G==color.G)&&(cr.B==color.B))...{
强化JAVA图形操作类wr.setSample(i,j,
0,0x00000000);
强化JAVA图形操作类}

强化JAVA图形操作类}

强化JAVA图形操作类}

强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*替换指定颜色
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramcolor1
强化JAVA图形操作类*
@paramcolor2
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicvoidsetDisplace(LColorcolor1,LColorcolor2)...{
强化JAVA图形操作类WritableRasterwr
=_img.getRaster();
强化JAVA图形操作类
intwidth=getWidth();
强化JAVA图形操作类
intheight=getHeight();
强化JAVA图形操作类强化JAVA图形操作类
if(wr==null||width<1||height<1)...{
强化JAVA图形操作类
return;
强化JAVA图形操作类}

强化JAVA图形操作类强化JAVA图形操作类
for(intx=0;x<width;x++)...{
强化JAVA图形操作类强化JAVA图形操作类
for(inty=0;y<height;y++)...{
强化JAVA图形操作类
intc=_img.getRGB(x,y);
强化JAVA图形操作类LColorcr
=newLColor();
强化JAVA图形操作类cr.R
=(c&0x00ff0000)>>16;
强化JAVA图形操作类cr.G
=(c&0x0000ff00)>>8;
强化JAVA图形操作类cr.B
=c&0x000000ff;
强化JAVA图形操作类
if((cr.R==color1.R)&&(cr.G==color1.G)
强化JAVA图形操作类强化JAVA图形操作类
&&(cr.B==color1.B))...{
强化JAVA图形操作类
intrgb=(color2.R<<16)|(color2.G<<8)|color2.B;
强化JAVA图形操作类_img.setRGB(x,y,rgb);
强化JAVA图形操作类}

强化JAVA图形操作类}

强化JAVA图形操作类}

强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*移动指定像素点
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicvoidmovePixels(intdx,intdy)...{
强化JAVA图形操作类
强化JAVA图形操作类_bg.drawImage(_img,
null,0,0);
强化JAVA图形操作类
强化JAVA图形操作类((Graphics2D)(_g.getGraphics())).drawImage(_back,
null,dx,dy);
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*克隆自身
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
finalpublicObjectclone()throwsCloneNotSupportedException...{
强化JAVA图形操作类
return(Bitmap)super.clone();
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*bmp文件保存处理,内部调用。
强化JAVA图形操作类*
强化JAVA图形操作类*
@return
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
finalprivateBMPSaveBMP()...{
强化JAVA图形操作类
returnnewBMPSave();
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*保存自身到指定路径
强化JAVA图形操作类*
强化JAVA图形操作类*
@parampath
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicvoidsave(Stringpath)...{
强化JAVA图形操作类
this.BMP().saveBitmap(path,_img,_img.getWidth(null),
强化JAVA图形操作类_img.getHeight(
null));
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*保存图像到指定路径
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramimage
强化JAVA图形操作类*
@parampath
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicvoidsave(Imageimage,Stringpath)...{
强化JAVA图形操作类
this.BMP().saveBitmap(path,image,image.getWidth(null),
强化JAVA图形操作类image.getHeight(
null));
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*保存图像到指定路径为指定大小
强化JAVA图形操作类*
强化JAVA图形操作类*
@paramimage
强化JAVA图形操作类*
@parampath
强化JAVA图形操作类*
@paramwidth
强化JAVA图形操作类*
@paramheight
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicvoidsave(Imageimage,Stringpath,intwidth,intheight)...{
强化JAVA图形操作类
this.BMP().saveBitmap(path,image,width,height);
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*清除指定rgb
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
publicvoidclear(intrgb)...{
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
if(_img==null||_g==null)...{
强化JAVA图形操作类
return;
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类_g.setRGB(rgb);
强化JAVA图形操作类
强化JAVA图形操作类_g.fillRect(
0,0,_img.getWidth(),_img.getHeight());
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
classBMPSave...{
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*
强化JAVA图形操作类
*/

强化JAVA图形操作类
privatestaticfinallongserialVersionUID=1L;
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*仅限此类内部使用
强化JAVA图形操作类*
强化JAVA图形操作类
*/

强化JAVA图形操作类强化JAVA图形操作类
privateBMPSave()...{
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类
publicvoidsaveBitmap(StringparFilename,ImageparImage,
强化JAVA图形操作类强化JAVA图形操作类
intparWidth,intparHeight)...{
强化JAVA图形操作类强化JAVA图形操作类
try...{
强化JAVA图形操作类_output
=newFileOutputStream(parFilename);
强化JAVA图形操作类save(parImage,parWidth,parHeight);
强化JAVA图形操作类_output.close();
强化JAVA图形操作类强化JAVA图形操作类}
catch(ExceptionsaveEx)...{
强化JAVA图形操作类saveEx.printStackTrace();
强化JAVA图形操作类}

强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
privatevoidsave(ImageparImage,intparWidth,intparHeight)...{
强化JAVA图形操作类强化JAVA图形操作类
try...{
强化JAVA图形操作类convertImage(parImage,parWidth,parHeight);
强化JAVA图形操作类writeBitmapFileHeader();
强化JAVA图形操作类writeBitmapInfoHeader();
强化JAVA图形操作类writeBitmap();
强化JAVA图形操作类强化JAVA图形操作类}
catch(ExceptionsaveEx)...{
强化JAVA图形操作类saveEx.printStackTrace();
强化JAVA图形操作类}

强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
privatebooleanconvertImage(ImageparImage,intparWidth,intparHeight)...{
强化JAVA图形操作类
intpad;
强化JAVA图形操作类_bitmap
=newint[parWidth*parHeight];
强化JAVA图形操作类PixelGrabberpg
=newPixelGrabber(parImage,0,0,parWidth,
强化JAVA图形操作类parHeight,_bitmap,
0,parWidth);
强化JAVA图形操作类强化JAVA图形操作类
try...{
强化JAVA图形操作类pg.grabPixels();
强化JAVA图形操作类强化JAVA图形操作类}
catch(InterruptedExceptione)...{
强化JAVA图形操作类e.printStackTrace();
强化JAVA图形操作类
return(false);
强化JAVA图形操作类}

强化JAVA图形操作类pad
=(4-((parWidth*3)%4))*parHeight;
强化JAVA图形操作类_biSizeImage
=((parWidth*parHeight)*3)+pad;
强化JAVA图形操作类_bfSize
=_biSizeImage+BITMAPFILEHEADER_SIZE
强化JAVA图形操作类
+BITMAPINFOHEADER_SIZE;
强化JAVA图形操作类_biWidth
=parWidth;
强化JAVA图形操作类_biHeight
=parHeight;
强化JAVA图形操作类
return(true);
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
privatevoidwriteBitmap()...{
强化JAVA图形操作类
intsize;
强化JAVA图形操作类
intvalue;
强化JAVA图形操作类
intj;
强化JAVA图形操作类
inti;
强化JAVA图形操作类
introwCount;
强化JAVA图形操作类
introwIndex;
强化JAVA图形操作类
intlastRowIndex;
强化JAVA图形操作类
intpad;
强化JAVA图形操作类
intpadCount;
强化JAVA图形操作类
bytergb[]=newbyte[3];
强化JAVA图形操作类size
=(_biWidth*_biHeight)-1;
强化JAVA图形操作类pad
=4-((_biWidth*3)%4);
强化JAVA图形操作类强化JAVA图形操作类
if(pad==4)...{
强化JAVA图形操作类pad
=0;
强化JAVA图形操作类}

强化JAVA图形操作类rowCount
=1;
强化JAVA图形操作类padCount
=0;
强化JAVA图形操作类rowIndex
=size-_biWidth;
强化JAVA图形操作类lastRowIndex
=rowIndex;
强化JAVA图形操作类强化JAVA图形操作类
try...{
强化JAVA图形操作类强化JAVA图形操作类
for(j=0;j<size;j++)...{
强化JAVA图形操作类value
=_bitmap[rowIndex];
强化JAVA图形操作类rgb[
0]=(byte)(value&0xFF);
强化JAVA图形操作类rgb[
1]=(byte)((value>>8)&0xFF);
强化JAVA图形操作类rgb[
2]=(byte)((value>>16)&0xFF);
强化JAVA图形操作类_output.write(rgb);
强化JAVA图形操作类强化JAVA图形操作类
if(rowCount==_biWidth)...{
强化JAVA图形操作类padCount
+=pad;
强化JAVA图形操作类强化JAVA图形操作类
for(i=1;i<=pad;i++)...{
强化JAVA图形操作类_output.write(
0x00);
强化JAVA图形操作类}

强化JAVA图形操作类rowCount
=1;
强化JAVA图形操作类rowIndex
=lastRowIndex-_biWidth;
强化JAVA图形操作类lastRowIndex
=rowIndex;
强化JAVA图形操作类}
else
强化JAVA图形操作类rowCount
++;
强化JAVA图形操作类rowIndex
++;
强化JAVA图形操作类}

强化JAVA图形操作类_bfSize
+=padCount-pad;
强化JAVA图形操作类_biSizeImage
+=padCount-pad;
强化JAVA图形操作类强化JAVA图形操作类}
catch(Exceptionwb)...{
强化JAVA图形操作类wb.printStackTrace();
强化JAVA图形操作类}

强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
privatevoidwriteBitmapFileHeader()...{
强化JAVA图形操作类强化JAVA图形操作类
try...{
强化JAVA图形操作类_output.write(_bfType);
强化JAVA图形操作类_output.write(intToDWord(_bfSize));
强化JAVA图形操作类_output.write(intToWord(_bfReserved1));
强化JAVA图形操作类_output.write(intToWord(_bfReserved2));
强化JAVA图形操作类_output.write(intToDWord(_bfOffBits));
强化JAVA图形操作类强化JAVA图形操作类}
catch(Exceptionwbfh)...{
强化JAVA图形操作类wbfh.printStackTrace();
强化JAVA图形操作类}

强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
privatevoidwriteBitmapInfoHeader()...{
强化JAVA图形操作类强化JAVA图形操作类
try...{
强化JAVA图形操作类_output.write(intToDWord(_biSize));
强化JAVA图形操作类_output.write(intToDWord(_biWidth));
强化JAVA图形操作类_output.write(intToDWord(_biHeight));
强化JAVA图形操作类_output.write(intToWord(_biPlanes));
强化JAVA图形操作类_output.write(intToWord(_biBitCount));
强化JAVA图形操作类_output.write(intToDWord(_biCompression));
强化JAVA图形操作类_output.write(intToDWord(_biSizeImage));
强化JAVA图形操作类_output.write(intToDWord(_biXPelsPerMeter));
强化JAVA图形操作类_output.write(intToDWord(_biYPelsPerMeter));
强化JAVA图形操作类_output.write(intToDWord(_biClrUsed));
强化JAVA图形操作类_output.write(intToDWord(_biClrImportant));
强化JAVA图形操作类强化JAVA图形操作类}
catch(Exceptionwbih)...{
强化JAVA图形操作类wbih.printStackTrace();
强化JAVA图形操作类}

强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
privatebyte[]intToWord(intparValue)...{
强化JAVA图形操作类
byteretValue[]=newbyte[2];
强化JAVA图形操作类retValue[
0]=(byte)(parValue&0x00FF);
强化JAVA图形操作类retValue[
1]=(byte)((parValue>>8)&0x00FF);
强化JAVA图形操作类
return(retValue);
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
privatebyte[]intToDWord(intparValue)...{
强化JAVA图形操作类
byteretValue[]=newbyte[4];
强化JAVA图形操作类retValue[
0]=(byte)(parValue&0x00FF);
强化JAVA图形操作类retValue[
1]=(byte)((parValue>>8)&0x000000FF);
强化JAVA图形操作类retValue[
2]=(byte)((parValue>>16)&0x000000FF);
强化JAVA图形操作类retValue[
3]=(byte)((parValue>>24)&0x000000FF);
强化JAVA图形操作类
return(retValue);
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类}
强化JAVA图形操作类



先保存一下再继续……

使用示例,实现了一个图形的油画效果:强化JAVA图形操作类

强化JAVA图形操作类packageorg.loon.framework.game.test.image;
强化JAVA图形操作类
强化JAVA图形操作类
importjava.awt.Color;
强化JAVA图形操作类
importjava.awt.Frame;
强化JAVA图形操作类
importjava.awt.Graphics;
强化JAVA图形操作类
importjava.awt.Panel;
强化JAVA图形操作类
importjava.util.Random;
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*<p>
强化JAVA图形操作类*Title:LoonFramework
强化JAVA图形操作类*</p>
强化JAVA图形操作类*<p>
强化JAVA图形操作类*Description:
强化JAVA图形操作类*</p>
强化JAVA图形操作类*<p>
强化JAVA图形操作类*Copyright:Copyright(c)2007
强化JAVA图形操作类*</p>
强化JAVA图形操作类*<p>
强化JAVA图形操作类*Company:LoonFramework
强化JAVA图形操作类*</p>
强化JAVA图形操作类*
强化JAVA图形操作类*
@authorchenpeng
强化JAVA图形操作类*@email:[email protected]
强化JAVA图形操作类*
@version0.1
强化JAVA图形操作类
*/

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicclassMyPanelextendsPanel...{
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
/***//**
强化JAVA图形操作类*
强化JAVA图形操作类
*/

强化JAVA图形操作类
privatestaticfinallongserialVersionUID=1L;
强化JAVA图形操作类
强化JAVA图形操作类Bitmap_bitmap
=null;
强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicMyPanel(Bitmapbitmap)...{
强化JAVA图形操作类
强化JAVA图形操作类_bitmap
=bitmap;
强化JAVA图形操作类
强化JAVA图形操作类setLayout(
null);
强化JAVA图形操作类
强化JAVA图形操作类setBackground(Color.BLACK);
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicvoidpaint(Graphicsg)...{
强化JAVA图形操作类
强化JAVA图形操作类
//加载原始图
强化JAVA图形操作类
g.drawImage(_bitmap.getImage(),0,0,this);
强化JAVA图形操作类
//图像间隔
强化JAVA图形操作类
intspace=2;
强化JAVA图形操作类
//加载loonframeworkcolor
强化JAVA图形操作类
LColorcolor=newLColor();
强化JAVA图形操作类
//产生随机数
强化JAVA图形操作类
Randomrand=newRandom();
强化JAVA图形操作类
//偏移度
强化JAVA图形操作类
intoffset=3;
强化JAVA图形操作类强化JAVA图形操作类
for(inti=0;i<_bitmap.getWidth()-offset;i++)...{
强化JAVA图形操作类强化JAVA图形操作类
for(intj=0;j<_bitmap.getHeight()-offset;j++)...{
强化JAVA图形操作类
//产生随机颗粒
强化JAVA图形操作类
inta=rand.nextInt(1000)%offset;
强化JAVA图形操作类color
=_bitmap.getPixel(i+a,j+a);
强化JAVA图形操作类
//重新注入r,g,b
强化JAVA图形操作类
_bitmap.setPixel(i,j,color);
强化JAVA图形操作类}

强化JAVA图形操作类}

强化JAVA图形操作类
//绘制
强化JAVA图形操作类
g.drawImage(_bitmap.getImage(),_bitmap.getWidth()+space,0,this);
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类强化JAVA图形操作类
publicstaticvoidmain(String[]args)...{
强化JAVA图形操作类
强化JAVA图形操作类Framefrm
=newFrame("Java油画效果(本示例由Loonframework框架提供)");
强化JAVA图形操作类frm.setSize(
600,364);
强化JAVA图形操作类frm.setResizable(
false);
强化JAVA图形操作类frm.add(
newMyPanel(newBitmap("c:/cc0.jpg")));
强化JAVA图形操作类frm.setVisible(
true);
强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类
强化JAVA图形操作类}

强化JAVA图形操作类

原图:

示例效果图:

强化JAVA图形操作类

相关文章:

  • 2022-02-28
  • 2022-01-10
  • 2022-12-23
  • 2021-08-04
  • 2021-09-30
  • 2022-12-23
  • 2021-07-06
  • 2021-12-04
猜你喜欢
  • 2022-12-23
  • 2021-11-06
  • 2021-05-07
  • 2021-11-23
  • 2021-10-21
  • 2021-07-17
相关资源
相似解决方案