Autor Beitrag
glowhand
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mo 23.07.07 18:13 
Hallo,
habe ein Problem, bei dem ich einfach nicht mehr weiter weiß.
Bisher habe ich ein Programm, welches ein Bild auf der Festplatte des Benutzers auf ein Bild, das in den Resourcen des Projekts hinzugefügt wurde, legt und es dann den Benutzer wieder auf seiner Festplatte speichern lässt.
Das funktioniert auch ganz gut. Nur möchte ich nun, dass das Bild auf der Festplatte des Benutzers nicht einfach so über das andere Bild übergelegt wird, sondern leicht transparent ist, so dass man das eigentliche Bild noch etwas durchscheinen sieht.

Mein bisheriger Code sieht schlicht und ergreifend so aus:

Image benutzerfoto = Image.FromFile(txtbox_benutzerfoto.Text);
g.DrawImage(benutzerfoto, new Rectangle(13, 62, 405, 525));

Das gewählte Bild wird wunderbar über das andere in einer festgelegten Größe draufkopiert.
Nur eben nicht transparent ;)

Hoffe mir kann da mal jemand weiterhelfen :)


Moderiert von user profile iconChristian S.: Topic aus Allgemeine .NET-Fragen verschoben am Mo 23.07.2007 um 18:20
Hajoseb
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 42



BeitragVerfasst: Mo 23.07.07 21:57 
Kann deine Bitmap transparenz benutzen (32bit) oder hat sie nur RGB (24bit)?

Dann müßtest du die Mischfarben selber berechnen.

Mfg Hajoseb
glowhand Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Mo 23.07.07 22:09 
es handelt sich um eine jpeg-datei, demzufolge, nehme ich an, nur rgb.

edit:
ich habe noch ein wenig gegoogelt und bin auf ImageAttributes gestoßen. möglicherweise kann ich damit ja die transparenz festlegen?
nur meint visual c# immer, dass keine der überladungen von DrawImage zutrifft.
Mein Code sieht aber folgendermaßen aus:

ImageAttributes attr = new ImageAttributes();
attr.setGamma(2.2F);
g.DrawImage(benutzerfoto, new PointF(0.0F, 0.0F), new Rectangle(13.0F, 62.0F, 405.0F, 525.0F), GraphicsUnit.Pixel, attr);

das passt ja eigentlich zu überladung nr 17:
Graphics.DrawImage (Image, PointF[], RectangleF, GraphicsUnit, ImageAttributes)