在我当前的项目中,我尝试添加BufferedImage一个PDFBox文档.更具体地说,我使用的是图像JFreeChart.我的代码看起来像这样:
public void exportToPDF(JFreeChart chart, String filePath){
PDDocument doc = null;
PDPage page = null;
PDXObjectImage ximage = null;
try {
doc = new PDDocument();
page = new PDPage();
doc.addPage(page);
PDPageContentStream content = new PDPageContentStream(doc, page);
BufferedImage image = chart.createBufferedImage(300, 300);
ximage = new PDJpeg(doc, image);
content.drawImage(ximage, 20, 20);
content.close();
} catch(IOException ie) {
}
doc.save(filePath);
doc.close();
}
Run Code Online (Sandbox Code Playgroud)
文档被创建; 我可以添加文本,但是我收到错误,指出图像没有足够的信息显示.
我有什么不对的任何线索?
我在Java中有一个bufferedImage.我怎么看它占用了多少内存?提前致谢.
我正在查看ImageConverter类,试图弄清楚如何将BufferedImage转换为8位颜色,但我不知道如何做到这一点.我也在互联网上搜索,我找不到简单的答案,他们都在谈论8位灰度图像.我只是想将图像的颜色转换为8位......没有别的,没有任何调整大小.有谁介意告诉我如何做到这一点.
我想使用java获取缓冲的图像格式或图像类型,
InputStream stream = request.getResponseStream();
BufferedImage image= ImageIO.read(stream);
LOGGER.info(image);
Run Code Online (Sandbox Code Playgroud) ClassCastException每当我尝试将BufferedImage(父)强制转换为我自己扩展的AdvancedBufferedImage(child)时,我都会得到一个,我没有覆盖任何方法而且我已经实现了所有承包商而没有修改它们
每当我尝试使用ImageIO.read()方法从File创建AdvancedBufferedImage时,我就会得到这个异常.
File file = new file(path);
AdvancedBufferedImage image = (AdvancedBufferedImage) ImageIO.read(file);
Run Code Online (Sandbox Code Playgroud)
似乎应该没有任何问题,可能是什么问题?
我正在尝试使用打印屏幕图像区域来获得2个显示器,但仅适用于一个显示器.你能告诉我如何获得2号显示器吗?
Robot robot = new Robot();
Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
BufferedImage capture = new Robot().createScreenCapture(screenRect);
ImageIO.write(capture, "bmp", new File("printscreen.bmp"));
Run Code Online (Sandbox Code Playgroud) 我正在尝试将JavaFX图像(从ImageView)转换为BufferedImage.我试过铸造和东西,但没有任何作用.有人可以建议我该怎么做吗?
我得到RGB24字节数组,并希望用Java显示它.
public void getByteArray(byte byteArray[]){
int count1 = 0;
byte temp1 = 0;
for (int i = 0; i < byteArray.length; i++) { //The order of RGB24 is red,green and blue.Change the
//order to blue,green and red so that java can use TYPE_3BYTE_BGR to recognize it
if (count1 == 0) {
temp1 = byteArray[i];
count1++;
} else if(count1 == 1) {
//do nothing
count1++;
} else if(count1 == 2) {
byteArray[i - 2] = byteArray[i];
byteArray[i] = temp1;
count1=0;
} …Run Code Online (Sandbox Code Playgroud) 我们有一个提供图像的应用程序,为了加快响应时间,我们将其BufferedImage直接缓存在内存中.
class Provider {
@Override
public IData render(String... layers,String coordinate) {
int rwidth = 256 , rheight = 256 ;
ArrayList<BufferedImage> result = new ArrayList<BufferedImage>();
for (String layer : layers) {
String lkey = layer + "-" + coordinate;
BufferedImage imageData = cacher.get(lkey);
if (imageData == null) {
try {
imageData = generateImage(layer, coordinate,rwidth, rheight, bbox);
cacher.put(lkey, imageData);
} catch (IOException e) {
e.printStackTrace();
continue;
}
}
if (imageData != null) {
result.add(imageData);
}
}
return new Data(rheight, …Run Code Online (Sandbox Code Playgroud) 我需要我的Android应用程序来识别BufferedImage,我正在使用Android Studio.我已经看到有一种方法可以在Eclipse中导入JRE库系统,但我在Android Studio中遇到了麻烦.
有任何想法吗?
谢谢!
bufferedimage ×10
java ×10
8-bit ×1
android ×1
awt ×1
awtrobot ×1
caching ×1
casting ×1
image ×1
imageview ×1
javafx ×1
jfreechart ×1
memory-leaks ×1
pdfbox ×1
printscreen ×1
rgb ×1
swing ×1