hallo andreas!
ich skaliere mir die bilder innerhalb einer galerie (datalist) immer so:
public void file_Item_Bound(Object sender, DataListItemEventArgs e)
{
string file = e.Item.DataItem.ToString();
HtmlImage foto = (HtmlImage) e.Item.FindControl("foto");
foto.Src = "~/" + FormatSrc(file); // hier wird der pfad richtiggestellt
Bitmap b = new Bitmap(file);
if (b.Size.Width >= b.Size.Height)
{
if (b.Size.Width >= 451)
{
foto.Width = 450;
foto.Height = (int) (((float) 450) / b.Size.Width * b.Size.Height);
}
else
{
foto.Width = b.Size.Width;
foto.Height = b.Size.Height;
}
}
else
{
if (b.Size.Height >= 451)
{
foto.Height = 450;
foto.Width = (int) (((float) 450) / b.Size.Height * b.Size.Width);
}
else
{
foto.Width = b.Size.Width;
foto.Height = b.Size.Height;
}
}
b.Dispose();
}du m�sstest das jetzt auf deinen fall umschreiben, sollte aber kein problem sein. der weg ist derselbe...
lg o
From: "Pessner, Andreas" <[EMAIL PROTECTED]> Reply-To: [EMAIL PROTECTED] To: <[EMAIL PROTECTED]> Subject: [Asp.net] Bilder skalieren Date: Thu, 15 Jul 2004 09:30:58 +0200
Ich suche nach einer M�glichkeit um Bilder zu skalieren.
Das ganze ist so gedacht - das ein Bild hochgeladen wird - und dazu kann eine Breite und H�he angegeben werden. Dann soll das Bild auf dem Server in das neue Format gebracht werden und abgespeichert werden.
Quasi so: Bild mit 1024*768 wird hochgeladen. Als neue Gr��e wird 640*480 �bergeben - und dann soll der Server das Bild mit 640*480 neu erstellen - und abspeichern.
Wie das f�r Thumbnails geht ist mir klar - aber da leidet die Qualit�t leider betr�chtlich wenn es gr��er als 300*300 Pixel sein soll! (�ber Bitmap. GetThumbnailImage)
(Das steht dazu in der Hilfe: GetThumbnailImage funktioniert gut, wenn die angeforderte Miniaturansicht eine Gr��e von ca. 120 x 120 hat. Eine Anforderung einer gro�en Miniaturansicht (z. B. 300 x 300) eines Image-Objekts mit einer eingebetteten Miniaturansicht kann zu einem deutlichen Qualit�tsverlust bei der Miniaturansicht f�hren. Es kann ggf. ratsam sein, das Hauptbild anstelle der eingebetteten Miniaturansicht zu skalieren, indem Sie DrawImage aufrufen.)
Dort wird auf DrawImage aus der Graphics Klasse verwiesen - aber irgendwie bekomme ich das nicht hin - bzw. mir fehlt dazu der richtige Ansatz!
Hat dazu vielleicht jemand einen Hinweis wie so was richtig geht?
So habe ich es versucht:
Bitmap myBM = aus Datei geladen Systems.Drawing.Graphics G = Systems.Drawing.Graphics.FromImage(myBM);
G.DrawImage(myImg, 0, 0, 640, 480); myBM.Save(...);
Aber irgendwie �ndert der das nicht - oder speichert zumindest nicht die �nderungen in die Datei rein.
Vorschl�ge?
Mit freundlichen Gr��en Andreas
_______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net
_________________________________________________________________
Hotmails und Messenger-Kommunikation am Handy? F�r MSN Mobile kein Problem! http://www.msn.at/msnmobile/
_______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net
