Hi, ich hab mal eine Frage.. geht die transparenz bei png bildern immer verloren wenn ich sie mit als BufferedImage einlese bzw welche fehler kann man machen dass die transparenz verloren geht?
hab hier fremden code vor mir indem ich den fehler beheben muss dass pngs ihre transparenz verlieren. ich denke alles zu posten wäre etwas viel um da durch zu blicken, deswegen die allgemeine frage.
die bilder werden fürs cachen gespeichert und haben da schon ihre transparenz verloren.. ich denke folgende methode ist schuld..
hab hier fremden code vor mir indem ich den fehler beheben muss dass pngs ihre transparenz verlieren. ich denke alles zu posten wäre etwas viel um da durch zu blicken, deswegen die allgemeine frage.
die bilder werden fürs cachen gespeichert und haben da schon ihre transparenz verloren.. ich denke folgende methode ist schuld..
Code:
protected void saveImageData(PersistCacheKey key, BufferedImage bi, ImageWriter writer)
{
if (persistentImageCache == null)
{
// no cache wanted
return;
}
synchronized (persistentImageCache)
{
File cachedImage = new File(persistentImageCache, key.getKey());
try
{
ImageOutputStream os = null;
try
{
writer.reset();
os = ImageIO.createImageOutputStream(new FileOutputStream(cachedImage, false));
writer.setOutput(os);
writer.write(bi);
}
finally
{
if (os != null)
{
os.close();
}
}
}
catch (IOException e)
{
log.error("failed during save", e);
if (cachedImage.exists())
{
cachedImage.delete();
}
}
}
}