ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
1568
1568
EMPFEHLEN
-
01.12.08 19:58 #1
- Registriert seit
- Oct 2007
- Beiträge
- 325
Abend,

ich habe hier ein Problem, das ich nicht verstehe.
Und zwar handelt es sich um eine Funktion, die ein Bild im Drawing.Bitmap-Format in eine bestimmte Anzahl von gleichgroßen Teilbildern (15x15 Pixel) teilen soll.
Das mache ich mit dieser Funktion:
Code vbnet:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
' _Picture (Drawing.Bitmap) ist das Bild, um das es geht. (150x150 Pixel groß) Public Overloads Function CutPicture(ByVal Pieces As Integer, ByVal HorizontalPieces As Integer, ByVal VerticalPieces As Integer) As Bitmap() If _Picture Is Nothing Or (HorizontalPieces = 0 And VerticalPieces = 0) Then Return Nothing Dim Piece(Pieces - 1) As Bitmap For i = 1 To HorizontalPieces For j = 1 To VerticalPieces Piece(i + j - 2) = _Picture.Clone(New Rectangle(15 * (j - 1), 15 * (i - 1), 15, 15), _Picture.PixelFormat) Next Next Return Piece End Function
Und so rufe ich sie auf:
Code vbnet:1 2 3 4 5
Dim i As Integer For Each item In CutPicture(20, 10, 10) i += 1 write(i, item) Next
Hier wird die Exception dann letztendlich geworfen:
Code vbnet:1 2 3 4
Sub write(ByVal num As Integer, ByVal btm As Bitmap) 'Hier: ExternalExeption: Allgemeiner Fehler in GDI+ btm.Save(String.Format("X:\Pics\Pic{0}.bmp", num)) End Sub
Ich habe keine Ahnung, was da zu machen ist, oder was mein Fehler ist, da die Beschreibung der Exception und die Onlinehilfe der MSDN nicht wirklich aussagekräftig sind.
Ich hoffe ihr könnt mir helfen.
Grüße Masterclavat
-
tritt der Fehler beim Speichern oder beim clonen auf?
(ok seh grad im Save
)
Ich persönlich traue der Clone Methode nicht und ist glaube auch nicht gerade performant ich würde die Bilder selbst direkt reinzeichen über DrawImage des Graphics Objekts
ungefähr so:
Laut meinen Erfahrungen (is bissel her) ist diese Methode schneller.Code :1 2 3 4 5 6
BItmap bmp=new Bitmap(width, height) using(Graphics g=Graphics.FromImage(bmp)) { g.DrawBitmap(bild, Ziel_Koordinaten, Quell_Koordinaten, Format.Pixel); //musste mal schaun was genau für Parameter gehn g.Flush(); //zum zeichen auffordern }
Das ist erstmal der erste Anhaltspunkt den ich seh.
Probiers einfach ma aus.
-
01.12.08 23:10 #3
- Registriert seit
- Oct 2007
- Beiträge
- 325
Dankeschön Spyke, dein Post hat mich auf eine sehr gute Spur geführt. Ich denke, ich weiß jetzt wie's.

Ich werde das morgen zuendebringen.
Gute Nacht.
Ähnliche Themen
-
Allgemeiner Fehler in GDI+
Von GerhardSchrader im Forum .NET Grafik und SoundAntworten: 3Letzter Beitrag: 29.11.08, 18:53 -
Dateipfad in Fehlermeldung nicht nachvollziehbar
Von WIK-Lars im Forum JavaAntworten: 0Letzter Beitrag: 27.12.06, 12:34 -
Allgemeiner Kurs zu PS 7.0 oder 8.0
Von Lost Heaven im Forum PhotoshopAntworten: 3Letzter Beitrag: 09.03.04, 06:12 -
Schwer nachvollziehbar, aber bitte um Hilfe in meinen Code
Von DevEye im Forum PHPAntworten: 5Letzter Beitrag: 16.09.02, 17:04 -
Pre(Re)view Script - Allgemeiner PHP Fehler - if Strukturen
Von WuttkeA im Forum PHPAntworten: 2Letzter Beitrag: 09.07.02, 11:51





Zitieren
Login





