如何在PNG图像中保持透明背景

兰迪

我从事一个项目已有一段时间了。我正在建立一个纸牌组类,最终将用于制作自己的纸牌游戏。我决定使用图像作为卡的索引,而不是用Java绘制它们。我已经在Illustrator中绘制了自己的西装并将其另存为具有透明背景的PNG。当我朗读图像时,可以将其显示在程序中,但是当我将图像添加到JFrame中时,背景色消失了,这使我相信由于某种原因未保持透明性。我尝试了两种将图像添加到GUI的不同方法,两次都得到相同的结果。我尝试过的一种方法是此处建议的方法。如何将图像添加到JPanel?我尝试过的另一种方法是这里建议的方法如何在JFrame中显示BufferedImage?这两种方法都不是我想要的。我希望我的西装能显示在屏幕上,并且仍然能够看到背景。

这是我想要正常工作的当前代码,我确实意识到它可以编译并运行正常,但是我希望仍然能够看到背景。

import java.io.File;
import java.io.IOException;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

import javax.imageio.ImageIO;



public class ImageReadTest extends JPanel{
   public static void main(String[] args){
      //Just a simple test on reading pictures into a java file and drawing them
      //onto a JFrame
      System.out.println("Java Image Read Test");
      JFrame frame = new JFrame("Image Reader");
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setBackground(Color.green);

      frame.add(new ImageReadTest());
      frame.pack();
      frame.setSize(250,250);
      frame.setLocationRelativeTo(null);
      frame.setVisible(true);
   }

   private BufferedImage image;
   public ImageReadTest(){
      try{
         image = ImageIO.read(new File("Club.png"));
      } catch(IOException e){
         System.out.println("Error");
      }
   }
   @Override
   protected void paintComponent(Graphics g){
      super.paintComponent(g);
      g.drawImage(image, 90, 90, null);
   }
}//end class ImageReadTest

这是测试我的代码的图片,感谢您抽出宝贵的时间来阅读和帮助! 俱乐部

阿夫扎莱克斯

问题不在于获取图像。该程序为您提供正确的结果,即图像的背景是透明的。但是,你的颜色ImageReadTest的JPanel和ContentPane你的jFrame一样。因此,您无法检测到差异。

只需替换以下行

frame.setBackground(Color.green);

有了这个

frame.getContentPane.setBackground(Color.green);

这里要了解的是jPanel和jFrame之间还有一层,即ContentPane。

编辑:因为您要使自己的窗格透明,所以必须将其不透明性设置为false。为此,在构造函数中添加以下行。

setOpaque(false);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在CSS中保持图像的长宽比?

来自分类Dev

如何保持GraphicsMagick .ai到.png转换的透明背景?

来自分类Dev

如何在保持透明背景的同时转换图像中的LinearLayout

来自分类Dev

如何通过转换为PNG从JPEG图像获取透明背景?

来自分类Dev

如何在整个应用程序中保持相同的背景?

来自分类Dev

如何在 Python 中保存 ppm 图像的 png 副本

来自分类Dev

如何在inkscape中创建具有透明背景的png?

来自分类Dev

如何在gimp中的透明png中添加背景?

来自分类Dev

如何在Pygame中保持高宽比的同时缩放图像?

来自分类Dev

如何在画布对象中保持图像的长宽比

来自分类Dev

crossfade 3 png如何保持背景透明,以便我可以将其放到背景视频中

来自分类Dev

如何在iPhone中的presentViewController时保持背景透明?

来自分类Dev

集合视图中PNG图像的透明背景

来自分类Dev

在PNG图像中用白色替换透明背景

来自分类Dev

用于PNG图像的GTK Python透明背景

来自分类Dev

如何在CSS中居中透明背景的图像?

来自分类Dev

如何在iWatch Watchkit中使背景图像透明

来自分类Dev

具有透明背景作为背景的PNG图像的ImageButton

来自分类Dev

如何使用Magick ++将具有透明背景的png图像设置为不透明度

来自分类Dev

如何使背景充满整个屏幕,但如何在响应式设计中保持居中

来自分类Dev

如何使图像在div中保持纵横比

来自分类Dev

如何在GDI +中绘制PNG并保持透明度/ alpha通道

来自分类Dev

批量反转.PNG图像,同时保持透明度

来自分类Dev

如何在WPF中使隐藏的窗口在背景中保持活动状态?

来自分类Dev

在R中保存旋转图像-避免背景并保持尺寸

来自分类Dev

在响应中保持 div 与背景图像的比例高度

来自分类Dev

如何在 Safari 上以线性渐变透明去除背景图像上的灰色背景

来自分类Dev

c#:如何在单个图像(例如 *.png)中保存图表和文本框?

来自分类Dev

识别Png图像是否具有100%透明的背景

Related 相关文章

  1. 1

    如何在CSS中保持图像的长宽比?

  2. 2

    如何保持GraphicsMagick .ai到.png转换的透明背景?

  3. 3

    如何在保持透明背景的同时转换图像中的LinearLayout

  4. 4

    如何通过转换为PNG从JPEG图像获取透明背景?

  5. 5

    如何在整个应用程序中保持相同的背景?

  6. 6

    如何在 Python 中保存 ppm 图像的 png 副本

  7. 7

    如何在inkscape中创建具有透明背景的png?

  8. 8

    如何在gimp中的透明png中添加背景?

  9. 9

    如何在Pygame中保持高宽比的同时缩放图像?

  10. 10

    如何在画布对象中保持图像的长宽比

  11. 11

    crossfade 3 png如何保持背景透明,以便我可以将其放到背景视频中

  12. 12

    如何在iPhone中的presentViewController时保持背景透明?

  13. 13

    集合视图中PNG图像的透明背景

  14. 14

    在PNG图像中用白色替换透明背景

  15. 15

    用于PNG图像的GTK Python透明背景

  16. 16

    如何在CSS中居中透明背景的图像?

  17. 17

    如何在iWatch Watchkit中使背景图像透明

  18. 18

    具有透明背景作为背景的PNG图像的ImageButton

  19. 19

    如何使用Magick ++将具有透明背景的png图像设置为不透明度

  20. 20

    如何使背景充满整个屏幕,但如何在响应式设计中保持居中

  21. 21

    如何使图像在div中保持纵横比

  22. 22

    如何在GDI +中绘制PNG并保持透明度/ alpha通道

  23. 23

    批量反转.PNG图像,同时保持透明度

  24. 24

    如何在WPF中使隐藏的窗口在背景中保持活动状态?

  25. 25

    在R中保存旋转图像-避免背景并保持尺寸

  26. 26

    在响应中保持 div 与背景图像的比例高度

  27. 27

    如何在 Safari 上以线性渐变透明去除背景图像上的灰色背景

  28. 28

    c#:如何在单个图像(例如 *.png)中保存图表和文本框?

  29. 29

    识别Png图像是否具有100%透明的背景

热门标签

归档