ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
5419
5419
EMPFEHLEN
-
Hallo,
wie der Titel schon sagt, habe ich folgendes vor:
Ich möchte ein Bild laden, das im GIF Format vorliegt und es dann formatiert (8Bit, Grayscale, evtl. noch invertiert) wieder abspeichern.
Leider hab ich da so gar keinen Ansatzpunkt, obwohl die Bitmapklasse sowas, zumindest für BMP´s, ja zulässt.
In VB6 gab es ja die Möglichkeit über die PictureBox einzelne Pixel auszulesen und neu zu setzen. So hätte man schonmal die Umwandlung in Grayscale erledigt, scheint aber mit VB.net nicht mehr zu gehen (Auf jeden Fall nicht so wie in VB6).
Bin für jede Hilfe dankbar.
Gruß
mordilloGeändert von mordillo (22.06.06 um 13:07 Uhr)
VC#.net - Auf gehts
-
Dazu solltest du dir die Klassen Image, Bitmap genauer ansehen. Zudem gibt es vor allem zum Thema Bildmanipulation einiges zu finden, beispielsweise:
Image Processing for Dummies
-
Um ein Bild in einem bestimmten Format zu speichern musst Du bei speichern als zweiten Parameter das Format angeben:
Wenn Du nichts angibst, wird automatisch PNG verwendet.Code :1 2 3 4 5 6 7 8 9 10
‘ Make a 256x256 pixel Bitmap. Dim bm As New Bitmap(256, 256) ‘ Draw on it. Dim gr As Graphics = Graphics.FromImage(bm) gr.Clear(Color.White) gr.DrawEllipse(Pens.Red, 0, 0, bm.Width - 1, bm.Height - 1) gr.DrawLine(Pens.Green, 0, 0, bm.Width - 1, bm.Height - 1) gr.DrawLine(Pens.Blue, bm.Width - 1, 0, 0, bm.Height - 1) ‘ Save the result as a JPEG file. bm.Save(“C:\test.jpg”, ImageFormat.Jpeg)
Achtung: Das Speicherformat ist unabhängig von der eingegebenen Dateiendung.
Invertieren wäre z.B. so möglich:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Private Sub InvertImage(ByVal bm As Bitmap) ‘ Process the image’s pixels For y As Integer = 0 To bm.Height - 1 For x As Integer = 0 To bm.Width - 1 ‘ Get this pixel’s color. Dim clr As Color = bm.GetPixel(x, y) ‘ Invert the color’s components. clr = Color.FromArgb(255, _ 255 - clr.R, _ 255 - clr.G, _ 255 - clr.B) ‘ Set the result pixel’s color. bm.SetPixel(x, y, clr) Next x Next y End Sub
-
Cool, Danke
VC#.net - Auf gehts
-
OK, das funktioniert jetzt mit selbst erstellten Grafiken, wie aber kann ich z.B. ein *.gif laden und dieses umwandeln?
VC#.net - Auf gehts
-
Aber mordillo, Dir muss man ja sogar die einfachsten Dinge als Quellcode schreiben. Du solltest mehr probieren, dadurch lernt man wirklich schneller und besser
Code :1 2
Dim Bmp As Bitmap = New Bitmap("C:\Temp\Bild.gif") Bmp.Save("C:\Temp\Bild.jpg", ImageFormat.Jpeg)
Ich selbst habe vor einer Woche begonnen, die englischen Video-Kurse von www.lernvisualstudio.net zu machen. Kann ich nur empfehlen. Habe vorher nie etwas mit VB (egal welche Version) gemacht.
UTA
-
btw: Ich habe die Vermutung, Du glaubst, dass die Bitmap-Klasse nur mit BMP-Dateien umgehen kann. Wie Du aber an den obigen Beispielen siehst, hat das nichts miteinander zu tun.
.Net scheint es uns Programmierern hier ziemlich einfach zu machen.
UTA
-
Genau so sah es aus: Bitmap = BMP, dachte ich und deshalb erst gar nicht damit probiert ... Ich häng da noch zu sehr an VB6
Glaub mir, ich Trial an Error schon ne ganze Menge, aber manchmal sieht man das einfachste einfach nicht .. Danke .Geändert von mordillo (20.08.06 um 07:23 Uhr)
VC#.net - Auf gehts
Ähnliche Themen
-
Bild von externer Quelle laden, Format prüfen und ggf. konvertieren
Von Prengepower im Forum PHPAntworten: 10Letzter Beitrag: 14.12.10, 19:00 -
ID3-Tags gleich nach dem laden in Strings konvertieren
Von essenz im Forum PHPAntworten: 6Letzter Beitrag: 11.09.09, 16:10 -
Bilder dynamisch laden und in MovieClip laden
Von Nambot im Forum Flash PlattformAntworten: 2Letzter Beitrag: 28.02.08, 19:38 -
Inhalt laden, ohne Design neu zu laden..?!
Von RuffY2k im Forum HTML & XHTMLAntworten: 1Letzter Beitrag: 30.04.05, 11:13 -
externe flash datei laden in ein content laden!
Von F-unit im Forum Flash PlattformAntworten: 17Letzter Beitrag: 14.12.04, 15:11





Zitieren
Login





