高分求Java绘图并保存为透明Jpg的问题
画出一个透明的BufferedImage,在JFrame里看是正确的,输出到文件后颜色不对,透明度也没有,一律变成黑色的背景,代码是这样的:
public class StampDrawer {
private BufferedImage bimg = new BufferedImage(200,100,BufferedImage.TYPE_INT_ARGB);
public BufferedImage drawStamp(String name) {
Graphics2D g2 = (Graphics2D) bimg.getGraphics();
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE);
g2.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
g2.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);
Font font = new Font("楷体_gb2312",Font.BOLD,30);
g2.setFont(font);
g2.setColor(Color.RED);
g2.drawString(name, 50, 50);
//g2.setRenderingHint(hintKey, hintValue)
bimg.flush();
return bimg;
}
public void writeJpg(String name) {
try {
Iterator writers = ImageIO.getImageWritersByFormatName("jpeg");
ImageWriter writer = (ImageWriter)writers.next();
OutputStream os = new FileOutputStream("D:\\testJpg.jpg");
ImageOutputStream imgos = ImageIO.createImageOutputStream(os);
writer.setOutput(imgos);
writer.write(this.drawStamp(name));
imgos.flush();
imgos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
请高人指点~给出正解的给满分~~~~
public class StampDrawer {
private BufferedImage bimg = new BufferedImage(200,100,BufferedImage.TYPE_INT_ARGB);
public BufferedImage drawStamp(String name) {
Graphics2D g2 = (Graphics2D) bimg.getGraphics();
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE);
g2.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
g2.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);
Font font = new Font("楷体_gb2312",Font.BOLD,30);
g2.setFont(font);
g2.setColor(Color.RED);
g2.drawString(name, 50, 50);
//g2.setRenderingHint(hintKey, hintValue)
bimg.flush();
return bimg;
}
public void writeJpg(String name) {
try {
Iterator writers = ImageIO.getImageWritersByFormatName("jpeg");
ImageWriter writer = (ImageWriter)writers.next();
OutputStream os = new FileOutputStream("D:\\testJpg.jpg");
ImageOutputStream imgos = ImageIO.createImageOutputStream(os);
writer.setOutput(imgos);
writer.write(this.drawStamp(name));
imgos.flush();
imgos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
请高人指点~给出正解的给满分~~~~
...全文
相关推荐
java绘图软件(用java的Swing编写的一个简单的绘图软件,可以用来绘制简单的图形,还可以保存,复制,粘贴等很多功能。)详细功能大家自己下载体验
用java的Swing编写的一个简单的绘图软件,可以用来绘制简单的图形,还可以保存,复制,粘贴。虽然有点小Bug,但是用来当一个毕业设计绝对够格!
java 绘图板 java源代码
java 小小绘图板 各种图形的绘制和文字的写入,也可以调整文字画笔的粗细 。还可以保存图像
屏幕截图并保存jpg
自动连续屏幕接图保存为jpg图片 可以使用 演示测试代码
java中pdf转jpg
java中pdf转jpg
java生成透明图片
NULL 博文链接:https://wcy981123.iteye.com/blog/1960327


Java SE
