DevTrain Startseite SharePoint Camp ? In 5 Tagen zum SharePoint Profi!  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren



 

Forum: ASP.NET2.0 | Thema: GDI+ - Grafik int .net beschneiden | Von: Bernhard Grojer ( 30.07.2006 22:41)

Hi

Ich möchte eine Grafik die der User uploadet beschneiden damit sie quadratisch wird. Die Grafik hat enweder hoch oder querformat. Je nachdem wird Links und Rechts oder Oben und Unten etwas abgeschnitten.

Danach speichere ich die beschnittene Grafik as JPG in der orig. Größe und dann nochmals als Thumbnail mit 180 x 180 px

Ich hab das in meiner .net Beginnzeit mal gecodet und hab hier ein FÜRCHTERLICHES Codebeispiel.

'Speichern des Upload-Images
myUpload.PostedFile.SaveAs(Server.MapPath("..\pics\") & ID & ".jpg")
myUpload.dispose()

'Bearbeitung des Bildes
Dim int_start_x
DIM int_start_y
DIM int_end_x
DIM int_end_y
DIM int_target_x
DIM int_target_y
Dim myImage as System.Drawing.Image
DIM myDumbImage AS System.Drawing.Image
Dim dummyCallBack as System.Drawing.Image.GetThumbNailImageAbort

'Beschneiden der Grafik
myImage = System.Drawing.Image.FromFile(Server.MapPath("..\pics\") & ID & ".jpg")
DIM int_width = myImage.width
DIM int_height = myImage.height
int_start_x = FIX((int_width - int_height) / 2)
int_start_y = 0
int_end_x = int_width - (2 * int_start_x)
int_end_y = int_height
int_target_x = int_width - (2 * int_start_x)
int_target_y = int_height
Dim bmpImage As Bitmap
Dim recCrop As Rectangle
Dim bmpCrop As Bitmap
Dim gphCrop As Graphics
Dim recDest As Rectangle
bmpImage = New Bitmap(myImage)
myImage.dispose()
recCrop = New Rectangle(int_start_x, int_start_y, int_end_x, int_end_y)
bmpCrop = New Bitmap(recCrop.Width, recCrop.Height, bmpImage.PixelFormat)
gphCrop = Graphics.FromImage(bmpCrop)
recDest = New Rectangle(0, 0, int_target_x, int_target_y)
gphCrop.DrawImage(bmpImage, recDest, recCrop.X, recCrop.Y, recCrop.Width, recCrop.Height, GraphicsUnit.Pixel)


bmpCrop.Save(Server.MapPath("..\pics\") & ID & ".jpg", ImageFormat.Jpeg)

Hat jemand eventuell ein vernünftiges Codebeispiel dazu? Ich hab leider nur wenig Ahnung von den fähigkeiten von System.Graphics!

Ich bin mir aber sicher, dass das maximal 10 Zeilen sein dürfen +gg+





Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!

 Betreff:
 Nachricht: Den Beitrag finden Sie nun unter: http://beta.devtrain.de/foren Die Benutzerdaten und Foreninhalte von beta.devtrain.de und www.devtrain.de sind die selben.
Sie können sich dort sogar per RSS über neue Inhalte informieren lassen.
Bei Problemen bitte direkt Mail an asp [AT] ppedv.de.

 Signatur:

  



Login
Username:


Passwort:






Passwort vergessen?

Advanced Developers Conference vom 14.-15. Februar 2011

© Copyright 2003 ppedv AG