portfolio
portfolio copied to clipboard
Export Diagramm – schwarzes Bild
Describe the bug Der Export von Chart-Grafiken führt zu einem schwarzen Bild. Das Problem tritt unter Windows 10 und 11 auf, wenn man die Skalierung von Apps auf 200% oder höher setzt, was bei großen Bildschirmen recht üblich ist.
Das Problem hängt offenbar mit dem ImageDataProvider in name.abuchen.portfolio.ui.util.chart.ChartUtil zusammen.
ImageDataProvider chartImageDataProvider = zoom -> {
if (zoom != 100)
return null;
PaletteData palette = new PaletteData(0xFF, 0xFF00, 0xFF0000);
return new ImageData(chartSize.x, chartSize.y, 32, palette);
};
An der Stelle ist 'zoom == 200' was dann wohl zu Problemen führt. Ein einfaches entfernen der if-Anweisung reicht aber nicht. Intern nutzt 'org.eclipse.swt.graphics.Image.Image' (unter Windows) auch einen Zoom-Wert, der ebenfalls 200 ist.
Wie in der Situation die richtige Vorgehensweise ist, um ein Bild zu erzeugen, ist mir nicht klar. Das ganze Konstrukt mit dem ImageDataProvider scheint auch schon ein Fix für ein anderes Problem zu sein. Im Code wird auf folgende Diskussion verwiesen aus der auch der fragliche Code stammt: https://github.com/eclipse/swtchart/issues/86
Siehe auch: https://forum.portfolio-performance.info/t/export-diagramm-schwarzes-bild/18233/11