2009-08-08 21 views
2

Ich versuche eine WebApplication zu schreiben, die zwei PNG-Bilder enthält - eine große und eine kleinere, Ich muss die größere als Basis verwenden und die kleinere in einer bestimmten Position platzieren, Der kleinere hat transparente Bereiche, so dass Informationen zum Basisbild hinzugefügt werden.überlappende Bilder mit GDI +

Ich benutze GDI + mit C#, aber ich schaffte nur ein Bild (die Basis) mit dem folgenden Code hochladen: Bitmap objImage = new Bitmap ("basePngPicturePath"); objImage.Save (Response.OutputStream, ImageFormat.Jpeg); objImage.Dispose();

Ich könnte, nicht zwei Bilder verwenden-es funktioniert nicht ... und das war die einzige Möglichkeit, die ich ein Bild hochladen konnte. HILFE BITTE !!! Ich brauche das wirklich funktioniert ...

Antwort

5

Sie das kleinere Bild auf die vor der ersten Seite größer ziehen könnte, wird gemacht, mit dem Code etwas wie folgt aus:

Bitmap objImage = new Bitmap("basePngPicturePath"); 
Bitmap objSmallImage = new Bitmap("smallPngPicturePath"); 
using (Graphics g = Graphics.FromImage(objImage)) 
{ 
    g.DrawImage(...); // there are 30-some overloads of DrawImage, but 
     // basically you use objSmallImage as the source, 
     // plus various ways of telling the method 
     // where to draw the smaller image. 
} 
objImage.Save(Response.OutputStream, ImageFormat.Jpeg); 
objImage.Dispose(); 
objSmallImage.Dispose(); 
+0

Obligatorische Bemerkung über die Notwendigkeit objSmallImage zu handhaben und objimage durch _using blocks_ auch. Vor allem in einer Web-App. +1 für den Rest. –

+0

Hallo, thsnks für die schnelle Antwort, Ich habe versucht, Ihren Code, aber es zeichnete nur das kleinere Bild. Ich habe sogar versucht, eine Zeile vor der Zeile hinzuzufügen, die das kleine Bild zeichnen, eine andere, die die Basis zeichnen - aber es zeigt immer noch nur das kleine Bild. (Ich benutzte g.DrawImage (objSmallImage, neuer Punkt (10,10); –

+1

@Henk: baby steps, Alter. Ich habe versucht, den Code in den Code des ursprünglichen Fragestellers zu passen. Außerdem ruft Dispose auf beiden Bitmaps die gleiche Sache auf – MusiGenesis