vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

In diesem Forum haben Sie die Möglichkeit Kommentare, Fragen und Verbesserungsvorschläge zu den im vb@rchiv gelisteten Tipps und Workshops zu posten.

Hinweis:
Ein neues Thema kann immer nur über die jeweilige Tipps & Tricks bzw. Workshop Seite eröffnet werden!

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen zu Tipps & Tricks und Workshops im vb@rchiv
Workshop 100: Direkte Manipulation von Bilddaten (VB 2005) 
Autor: tamaleus
 Workshop anzeigenDatum: 24.12.12 15:40

Hallo

Das klappt soweit alles bestens und ist auch eine feine Sache. Nur, wenn ich eine Bilddatei verändere, bzw. bearbeite und dann speichern möchte, erhalte ich die Fehlermeldung:

5: Allgemeiner Fehler in GDI+

Ich komme leider nicht weiter. Was mache ich falsch, bzw. was muss ich ändern, so dass sich eine z.B. aufgehellte Datei speichern lässt? Mein Speichervorgang sieht so aus:

picBildausgabe.Image.Save(.FileName, System.Drawing.Imaging.ImageFormat.Jpeg)

Die Gegenprobe, also des Speichern einer unveränderten Bilddatei funktioniert fehlerfrei.

PS: VBEE2010, .net auf WinXP, SP3
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Direkte Manipulation von Bilddaten (VB 2005) 
Autor: Manfred X
Datum: 24.12.12 17:23

Hallo!
Hallo!

Ohne den genauen Code zu kennen, läßt sich die Frage kaum beantworten.

1. Ersetze folgende Zeile

Dim bmp_bytes As Integer = bmp.Width * bmp.Height * 3

durch die Scanbreite (d.h. incl. Padbytes)

Dim bmp_bytes As Integer = bmp_data.Stride * bmp.Height


2. Um eine Bilddatei mit dieser Funktion per GDI+ zu bearbeiten,
darf das Eingangsbild kein "indiziertes Format" aufweisen
(also z.b. nicht Drawing.Imaging.PixelFormat.Format1bppIndexed)

3. Verwende den Originalcode, der auf Bitmap-Objekte zurückgreift.

4. Die Datei, in die Bilddaten gespeichert werden sollen, darf nicht
für den Zugriff gesperrt sein.

Frohes Fest!

Manfred
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Direkte Manipulation von Bilddaten (VB 2005) 
Autor: tamaleus
Datum: 24.12.12 18:20

Erst mal vielen Dank für die prompte Antwort.

1. habe ich gemacht

2. verstehe ich nicht (bin noch schwer am lernen)

3. habe ich. Habe soweit nur mal eine Oberfläche mit zwei Picture-Boxen und ein paar Buttons gebaut.
Ansonsten ist der Quellcode noch so, wie er im Workshop unter gleichem Titel steht.

4. Das Quellbild kann ich - durch meine Oberlfläche problemlos ausgeben. Auch das unberarbeitet Bild,
des Ziels lässt sich ohne Fehlermeldung speichern. Drum nehme ich an, dass es auch nicht am vierten
Punkt liegt.

Noch ne Idee, woran es liegen könnte?

Dank und Gruss

Tamaleus
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Direkte Manipulation von Bilddaten (VB 2005) 
Autor: tamaleus
Datum: 27.12.12 08:28

Ich glaube, herausgefunden zu haben, dass es daran lag, dass in der Vorlage, jedenfalls aber in meinem Speichervorgang des veränderten Bildes, welches ich in der PictureBox2 platziert habe, die Zeile

Dim img As Image = Image.FromHbitmap(CType(Me.PictureBox2.Image, _
  Bitmap).GetHbitmap)
fehlte.

Und wenn ich dann anstatt dem Speichern der PictureBox2 (in welcher das veränderte Bild ist),

PictureBox2.Image.Save(.FileName, System.Drawing.Imaging.ImageFormat.Jpeg)
das soeben erzeugte Objekt mit

img.Save(.FileName, System.Drawing.Imaging.ImageFormat.Jpeg)
speichere, dann tritt der ursprünglich erwähnte Fehler nicht mehr auf.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel