Hey,
ich stehe grad irgendwie aufm Schlauch...
Um zwei PNG's zu verschmelzen, verwende ich folgende Methode:
private Image mergePics(Image source1, Image source2)
{
Image target = new Bitmap(source1.Width, source1.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
Graphics graphics = Graphics.FromImage(target);
graphics.CompositingMode = CompositingMode.SourceOver;
graphics.DrawImage(source1, 0, 0);
graphics.DrawImage(source2, 0, 0);
return target;
}
Meine Ursprungsgrafiken sind jeweils 250x250 Pixel groß und die Zielgrafik ebenfalls.
Jedoch sehe ich in der Zielgrafik die ersten ca. 188x188 Pixel der beiden verschmolzenen Grafiken, gestreckt auf 250x250.
Liegt das eventuell am PixelFormat? Ich weiß nicht weiter 😛
Freue mich über jede Hilfe =)
MfG
Azteko
edit:
Habe gerade mal das Hintergrundbild als .gif geladen... da wird nichts vergrößert...
In wie fern kann das png Format Ursache dieses Umstands sein?^^
Dass es am Pixelformat liegt, kann ich mir eigentlich nicht vorstellen. Hast du mal versucht, statt einem Point ein Rectangle bei DrawImage zu übergeben?
Hallo Azteko,
das wird an unterschiedlichen DPI-Einstellungen der beteiligten Bilder bzw. Bitmap-Objekte liegen. Verwende die Überladungen von DrawImage, bei der du Quell- und Zielrechteck angeben kannst oder verwende DrawImageUnscaled.
herbivore