草庐IT

bufferedImage

全部标签

java - 在 Java 中调整图像大小以减小图像大小

我有一张尺寸为800x800的图片,大小为170kb。我想将这张图片调整为600x600。调整大小后,我希望缩小图像尺寸。我该怎么做? 最佳答案 您不需要一个完整的图像处理库来简单地调整图像大小。推荐的方法是使用渐进式双线性缩放,如下所示(您可以在代码中随意使用此方法):publicBufferedImagescale(BufferedImageimg,inttargetWidth,inttargetHeight){inttype=(img.getTransparency()==Transparency.OPAQUE)?Buffer

Java TGA 加载器

我正在寻找用于java的小型免费TGA图像加载类或库。理想情况下,结果是BufferedImage。是的,我已经用谷歌搜索过,但大多数结果都已过时,或者是相当大的库,其中包含许多我不需要的其他内容。我正在寻找只读取TGA图像的小而简单的东西。谢谢! 最佳答案 我有未压缩的targa图像,因此必须调整示例代码。这是我的编辑,它应该支持未压缩的targa24位BGR和32位BGRA//http://paulbourke.net/dataformats/tga///littleendianmulti-byteintegers:"low-o

java - 突出显示图像之间的差异

我应该修改此图像比较代码以突出显示/指出两个图像之间的差异。有没有办法修改此代码以突出显示图像中的差异。如果没有关于如何进行的任何建议,我们将不胜感激。intwidth1=img1.getWidth(null);intwidth2=img2.getWidth(null);intheight1=img1.getHeight(null);intheight2=img2.getHeight(null);if((width1!=width2)||(height1!=height2)){System.err.println("Error:Imagesdimensionsmismatch");Sy

java - 在 java 中,如何将 java.awt.image.BufferedImage 写入 8 位 png 文件?

我正在尝试从java.awt.image.BufferedImage中写出一个png文件。一切正常,但生成的png是一个32位文件。有没有办法使png文件成为8位?该图像是灰度图像,但我确实需要透明度,因为这是一张叠加图像。我使用的是java6,我更愿意返回一个OutputStream,这样我就可以让调用类处理将文件写出到磁盘/数据库的问题。这是代码的相关部分:publicstaticByteArrayOutputStreamcreateImage(InputStreamoriginalStream)throwsIOException{ByteArrayOutputStreamoStr

java - 通过java中的套接字发送屏幕截图(bufferedImage)

我正在通过套接字发送一个缓冲图像,我正在使用this中的示例帖子:发件人BufferedImageimage=....;ImageIO.write(image,"PNG",socket.getOutputStream());接收者BufferedImageimage=ImageIO.read(socket.getInputStream());它有效-如果且仅当我在这一行之后关闭发送方的outputStream:ImageIO.write(image,"PNG",socket.getOutputStream());除了关闭outputStream,我还能做些什么吗?另外,还有什么我可以做

java - 检查 java 中的 bufferedImage 使用了多少内存?

我在Java中有一个bufferedImage。我如何查看它占用了多少内存?提前致谢。 最佳答案 您可以使用以下方法确定单独的图像数据占用了多少字节:DataBufferbuff=image.getRaster().getDataBuffer();intbytes=buff.getSize()*DataBuffer.getDataTypeSize(buff.getDataType())/8;图像本身会为颜色模型和其他簿记信息占用更多空间,但对于大图像,bytes将是主要术语。 关于jav

java - 有没有办法强制 GridLayout 留下空单元格?

我有一个JTabbedPane,其中2个JPanel设置为GridLayout(13,11)。第一个JPanel有足够多的单元格填充,它留下空单元格。第二个JPanel中填充的单元格明显较少,这导致每个按钮都被拉伸(stretch)以填充整行。有没有办法让GridLayout支持空单元格,从而使两个JPanel中的按钮大小相同? 最佳答案 IsthereanywaytogetGridLayouttohonortheemptycells,sothebuttonsinbothJPanelsarethesamesize?使用GridLay

java - 从文本中提取矩形中的单词

我正在努力从BufferedImage中快速有效地提取矩形中的单词。例如,我有以下页面:(编辑!)扫描图像,因此它可能包含噪声、倾斜和失真。如何在没有矩形的情况下提取以下图像:(编辑!)我可以使用OpenCv或任何其他库,但我对高级图像处理技术绝对陌生。编辑我使用了karlphillip建议的方法here而且效果不错。这是代码:packagero.ubbcluj.detection;importjava.awt.FlowLayout;importjava.awt.image.BufferedImage;importjava.io.ByteArrayInputStream;importj

java - 如何将彩色图像转为纯黑白图像(0-255格式)

publicclassBlackWhite{publicstaticvoidmain(String[]args){try{BufferedImageoriginal=ImageIO.read(newFile("colorimage"));BufferedImagebinarized=newBufferedImage(original.getWidth(),original.getHeight(),BufferedImage.TYPE_BYTE_BINARY);intred;intnewPixel;intthreshold=230;for(inti=0;ithreshold){newPi

Java BufferedImage如何知道一个像素是否透明

我将使用BufferedImage的getRGB方法。我想检查图像的像素并查看其中哪些像素具有透明度(通常我将拥有的透明像素将完全透明)。如何从getRGB返回的int中获取它? 最佳答案 BufferedImageimg=....publicbooleanisTransparent(intx,inty){intpixel=img.getRGB(x,y);if((pixel>>24)==0x00){returntrue;}returnfalse;}当然img必须采用正确的格式TYPE_4BYTE_ABGR或某种支持alphachan