Tag: png

没有Alpha通道的PNG透明度

我试图用Java中的BufferedImage创建一个透明的PNG图像。 PNG将被加载到另一个不支持alpha通道的软件中 。 这应该没问题,因为根据PNG书第4章第5节第4部分 ,我可以通过指定一个透明的像素值来实现透明度。 这可以通过在png文件中创建tRNS标头来实现。 我不确定如何将此技术细节转换为Java代码。 实际图像本身是单色的; 每个像素都是黑色或白色。 我想用透明像素替换每个白色像素,而不使用alpha通道 。 愿有人能把我推向正确的方向吗?

有一种简单的方法可以减少IndexedColorModel中的颜色数量吗?

我有一个大的8位PNG图像。 我使用Java将图像切割成较小的32×32图像。 我使用Java的ImageIO将PNG加载到BufferedImage ,然后调用它的getSubimage(x, y, 32, 32) 。 然后我使用ImageIO将每个区块写为PNG。 问题是生成的图像与原始图像具有相同的IndexColorModel 。 例如,一个32×32磁贴只有8种颜色,但它包含一个颜色模型,其中包含原始图像中的所有100多种颜色。 在写出PNG之前,我想从32×32磁贴的IndexColorModel删除未使用的颜色。 没有任何意义,包括图像中未使用的颜色的颜色数据,我希望图像尽可能小。 是否有内置机制来执行此操作,或者有人指向我(简单)方式来修改/减少ColorModel ? 谢谢!

Java PNG到JPG Bug

我正在尝试按照本教程将PNG图像转换为JPEG图像。 但我遇到了一个问题。 生成的图像具有粉红色层。 有没有人有这个问题的解决方案? 或者我应该使用什么代码才能将图像转换为所需的格式? 提前致谢!

从透明png精灵制作多边形的算法

说,我有一个游戏对象的精灵,它是一个透明的png图像。 我想从这个图像创建一个包含我的游戏对象的多边形。 我很确定它有一个现有的算法,但我还没有找到。 我希望有类似的东西: public static Polygon getPolygon(BufferedImage sprite) { // get coordinates of all points for polygon return polygon; }

如何在JavaPlot中输出png文件

我使用“> gnujavaplot,我没有找到一种方法来制作输出图像文件。我只是在gnuplot窗口中绘图,我需要在png文件中输出图表。 我需要这样的东西:$ gnujavaplot中的set terminal png $ set output“filename.png”。 谢谢。

在EM中将EMF +(非WMF / EMF)文件转换为PNG

问题: 我有一个增强型Metafile Fromat Plus Extension EMF +的图像。 我需要使用java将此文件转换为PNG图像文件。 尝试解决java中的问题: Apache Batik不支持EMF +格式(Batik仅支持WMF格式)。 FreeHEP也不支持EMF + 。 它可以将EMF转换为SVG ,然后将SVG转换为PNG 。 我希望它可以帮助: EMF2SVG.main( new String[] {inputMetaFileName,ontputSvgFileName}); 此语句必须将EMF转换为SVG ,但会出现exception: 位于org.freehep.graphicsio的org.freehep.graphicsio.exportchooser.AbstractExportFileType.getGraphics(AbstractExportFileType.java:261)的org.freehep.graphicsio.exportchooser.AbstractExportFileType.exportToFile(AbstractExportFileType.java:248)中的java.lang.NullPointerException。 exportchooser.AbstractExportFileType.exportToFile(AbstractExportFileType.java:282)org.freehep.graphicsio.emf.EMFConverter.export(EMFConverter.java:81)at org.freehep.graphicsio.emf.EMF2SVG.main(EMF2SVG.java:27) 我用过这里的代码: try { // read the EMF file EMFRenderer emfRenderer = new EMFRenderer( new EMFInputStream( new ByteArrayInputStream(emfBytes))); EMFPanel emfPanel = new EMFPanel(); emfPanel.setRenderer(emfRenderer); // prepare Graphics2D FileOutputStream […]

如何将多个png图像转换为单个tiff文件

我有一个png格式的几个图像的字节数组。 我必须将其转换为tiff文件,然后转换为相应的字节数组。 这个tiff文件将保存多个图像。 我已经接受了很多,但我没有成功。 问题是。 我只能在java中这样做!! :)任何人都可以就我的问题提供一些见解吗? 我不会受益于ImageMagick等,因为我有一个服务器组件来处理这个转换,然后将它作为tiff保存在后端。 客户端给我一个字节数组,它将转换为png图像。

JButton Image Icon不显示.png文件

我一直在寻找解决方案,并阅读一些与此问题相关的类似post,但它们都不适合我。 我正在尝试在JButton上显示图像“b.png” ,当我滚动按钮时图标会发生变化。 package GUI_JButton; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; public class Gui extends JFrame { private JButton reg; private JButton custom; public Gui() { super(“Title goes here”); setLayout(new FlowLayout()); reg = new JButton(“reg button”); // create reg button add(reg); // add reg button […]

更改.png以使用JpegImagesToMovie.java

我正在使用JpegImagesToMovie.java将图像转换为.mov文件。 我想知道是否有我可以编辑这个以使用.png文件,因为video的质量不是很好,改变它会改善它。 ImageIO.write(img, “png”, new File(“C:\\Users\\user\\Desktop\\tmp\\” + System.currentTimeMillis() + “.png”)); ImageIO.write(img, “jpeg”, new File(“C:\\Users\\user\\Desktop\\tmp\\” + System.currentTimeMillis() + “.png”)); ImageIO.write(img, “png”, new File(“C:\\Users\\user\\Desktop\\tmp\\” + System.currentTimeMillis() + “.jpeg”)); 所有这三个都会产生一个video(没有错误通过该程序),但video不会播放图像只是打开和完成。 我也尝试过编辑JpegImagesToMovie.java if (!filePath.toLowerCase().endsWith(“.png”) && !filePath.toLowerCase().endsWith(“.png”)) { continue; 但这没有用,我找不到其他任何地方可以编辑。 我怎样才能使用.png图像? 最近更新: 这是我更新的JpegImagesToMovies类 包枫; /* * @(#)JpegImagesToMovie.java 1.3 01/03/13 * * Copyright (c) 1999-2001 Sun Microsystems, Inc. All Rights Reserved. […]

PNG – 是否可以使用Java 2D减少调色板?

如果我将PNG图像打开为BufferedImage,是否可以减少PNG图像中的调色板以减少颜色(每个像素的位数/颜色深度较少)? 例如,如果你在维基百科中查看颜色深度 ,我想在我的PNG图像中使用16种颜色(右边第3张图像)。 如果Java 2D无法实现,那么是否有一个库可以让我有效地完成这项工作?