Entwickler-Ecke

Multimedia / Grafik - Skalierung wird nicht berücksichtigt


Christoph1972 - Sa 06.03.10 11:16
Titel: Skalierung wird nicht berücksichtigt
Guten Morgen zusammen,

ich hole mir ein Bildausschnitt aus einem Image und zoome den Clip. Das funktioniert soweit super, auch ohne Qualitätsverluste, jedoch nur wenn ich den Clip direkt in einem Panel zeichne mit: CreateGraphics(). Daraus ergibt sich dann die Einschränkung, das kein Control über die Zeichnung bewegt werden darf, da diese nicht neu gezeichnet wird. Genau das muss aber möglich sein, ohne wenn und aber. Also muss ein neues Bitmap her, hier hapert es allerdings.

Das funktioniert prima:

C#-Quelltext
1:
2:
3:
4:
using (Graphics g = panel1.CreateGraphics())
{
    g.DrawImage(bmpClip, 00, userRectangle.Width * scaleFactor, userRectangle.Height * scaleFactor);
}



Wenn ich nun ein neues Bitmap erstelle geht die neue Skalierung verloren, bzw. wird nicht berücksichtigt.

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
//Bitmap mit neuer Skalierung erstellen.
Bitmap newBitmap = new Bitmap(Convert.ToInt32(userRectangle.Width * scaleFactor), Convert.ToInt32(userRectangle.Height * scaleFactor));

using (Graphics g = Graphics.FromImage(newBitmap))
{
    g.DrawImage(bmpClip, 00, userRectangle.Width * scaleFactor, userRectangle.Height * scaleFactor);
}



Wenn das neue Image mit einer PictureBox betrachtet wird, ist es nicht skaliert. Was läuft den hier falsch?

Über Hinweise und Anregungen freue ich mich wie immer :lol:


Christoph1972 - Sa 06.03.10 20:28

Sorry, der Code ist OK. Der Fehler war an einer anderen Stelle!