tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
5419
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von mordillo
    mordillo mordillo ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Beiträge
    43
    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ß
    mordillo
    Geändert von mordillo (22.06.06 um 13:07 Uhr)
     
    VC#.net - Auf gehts

  2. #2
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    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
     

  3. #3
    UTA2000 UTA2000 ist offline Mitglied
    Registriert seit
    Aug 2006
    Beiträge
    15
    Um ein Bild in einem bestimmten Format zu speichern musst Du bei speichern als zweiten Parameter das Format angeben:
    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)
    Wenn Du nichts angibst, wird automatisch PNG verwendet.
    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
     

  4. #4
    Avatar von mordillo
    mordillo mordillo ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Beiträge
    43
    Cool, Danke
     
    VC#.net - Auf gehts

  5. #5
    Avatar von mordillo
    mordillo mordillo ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Beiträge
    43
    OK, das funktioniert jetzt mit selbst erstellten Grafiken, wie aber kann ich z.B. ein *.gif laden und dieses umwandeln?
     
    VC#.net - Auf gehts

  6. #6
    UTA2000 UTA2000 ist offline Mitglied
    Registriert seit
    Aug 2006
    Beiträge
    15
    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
     

  7. #7
    UTA2000 UTA2000 ist offline Mitglied
    Registriert seit
    Aug 2006
    Beiträge
    15
    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
     

  8. #8
    Avatar von mordillo
    mordillo mordillo ist offline Mitglied Bronze
    Registriert seit
    Feb 2004
    Beiträge
    43
    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

  1. Antworten: 10
    Letzter Beitrag: 14.12.10, 19:00
  2. Antworten: 6
    Letzter Beitrag: 11.09.09, 16:10
  3. Bilder dynamisch laden und in MovieClip laden
    Von Nambot im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 28.02.08, 19:38
  4. Inhalt laden, ohne Design neu zu laden..?!
    Von RuffY2k im Forum HTML & XHTML
    Antworten: 1
    Letzter Beitrag: 30.04.05, 11:13
  5. externe flash datei laden in ein content laden!
    Von F-unit im Forum Flash Plattform
    Antworten: 17
    Letzter Beitrag: 14.12.04, 15:11