strico Geschrieben 6. Dezember 2006 Teilen Geschrieben 6. Dezember 2006 Folgendes Problem: Ich lade ein *.tif Bild, welches nach dem öffnen im Format "Format1bppIndexed" vorliegt. Das soll auch so bleiben. Allerdings, will ich die Width und Height Eigenschaft ändern, sprich es verkleinern. Ob ich das nun mitThumbNail mache oder mit new Bitmap(original, Size), spielt keine Rolle, da es das Bild zwar mit neuer Größe, allerdings (leider) in einem neuen Format (nämlich 32 bit pro Pixel) zurückliefert. Wie kann ich nun verhindern, dass das Bild in ein 32 Bit Format geändert wird? System.Drawing.Image bitImg = System.Drawing.Image.FromFile(path); //Format1bppIndexed // newHeight und Width wurde vorher neu berechnet und callback liefert immer false (ausführung nicht abbrechen) bitImg = bitImg.GetThumbnailImage((int)NewWidth,(int)NewHeight,callback,IntPtr.Zero);//Format32bppPArgb oder bitImg = new Bitmap(bitImg, (int)(bitImg.Width / 5), (int)(bitImg.Height / 5)); //wird nicht wirklich ausgeführt, weil das Bild sehr groß ist (10000 x 7000 Pixel) 1. Kann mir jemand erklären, wie ich das PixelFormat ändern kann und 2. Hat jemand vielleicht eine Idee, wie ich ein Bild in der Größe ändere ohne dass das alte Format verändert wird? Vielen Dank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bubble Geschrieben 6. Dezember 2006 Teilen Geschrieben 6. Dezember 2006 Wenn Dir die Verwendung von GDI+ ausreicht, probiere folgendes: 1. Neues Bitmap Objekt der gewünschten Größe und der gewünschten Auflösung erzeugen. 2. Graphics Objekt erzeugen, mit dem Du in diese Bitmap zeichnen kannst. 3. Die alte (große) Grafik mit dem Graphics-Objekt verleinert zeichnen. Du kannst natürlich die kleinere Bitmap auch selbst aus der goßen Bitmap erstellen. Hierbei hast Du dann mehr Einfluß auf den Verkleinerungsvorgang. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
strico Geschrieben 6. Dezember 2006 Autor Teilen Geschrieben 6. Dezember 2006 Das reicht leider nicht, denn das graphics-Object kann nichts mit indizierten Pixelformaten anfangen --> ich kann mein Format1bppIndexed - Bild nicht verwenden. Trotzdem schonmal danke. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bubble Geschrieben 6. Dezember 2006 Teilen Geschrieben 6. Dezember 2006 Dann wirst Du die Umwandlung, also das Erstellen der neuen 1bpp Bitmap, selbst machen müssen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
strico Geschrieben 6. Dezember 2006 Autor Teilen Geschrieben 6. Dezember 2006 Nur wie? Oder gibts da nicht vielleicht auch was über die API? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Bubble Geschrieben 6. Dezember 2006 Teilen Geschrieben 6. Dezember 2006 Nur wie? Resampling. Oder gibts da nicht vielleicht auch was über die API? Nein. Du musst die Werte für die neuen Bildpunkte selbst berechnen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.