Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  VB 2005 ColorDepth (Farbtiefe) eines Bitmap (*.bmp) ändern

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  VB 2005 ColorDepth (Farbtiefe) eines Bitmap (*.bmp) ändern (1716 mal gelesen)
tbd
Moderator
Teamleiter


Sehen Sie sich das Profil von tbd an!   Senden Sie eine Private Message an tbd  Schreiben Sie einen Gästebucheintrag für tbd

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600

erstellt am: 15. Mrz. 2007 13:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen,

ich habe folgendes Problem:
Ich erzeuge per Code (VB 2005) eine Bitmap (oBildLarge). Diese Bitmap wird mit Hilfe eines System.Drawing.Graphics Objekts (oGraphicsLarge = System.Drawing.Graphics.FromImage(oBildLarge)) bearbeitet.
Diesen Code habe ich mal weg gelasse, da er mit dem Problem nichts zutun hat.

Da ich die Bitmap mit dem Graphics Objekt bearbeite, kann ich die Farbtiefe nicht bei Erzeugen des Bild Objekts angeben (oBildLarge = New System.Drawing.Bitmap(200, 20, Imaging.PixelFormat.Format24bppRgb)).

Die Idee von mir war es nun, die Farbtiefe beim Speichern durch einen Encoder anzugeben. Laut VB-Hilfe ist dies auch möglich.
Das Bitmap wird jedoch mit einer 32bit Farbtiefe gespeichert und ich weis nicht mehr weiter.

Code:

'Bild umwandel
Dim oBildLarge As System.Drawing.Bitmap
Dim sPfad As String = "C:\Bitmap.bmp"
Dim oImageCodecInfo As System.Drawing.Imaging.ImageCodecInfo = Nothing
Dim oImageCodecInfoArray() As System.Drawing.Imaging.ImageCodecInfo
Dim oEncoder As System.Drawing.Imaging.Encoder
Dim oEncoderParameter As System.Drawing.Imaging.EncoderParameter
Dim oEncoderParameters As System.Drawing.Imaging.EncoderParameters
Dim shFarbtiefe As Short
'Farbtiefe auf 24bit einstellen
shFarbtiefe = 24
'Bild erzeugen
oBildLarge = New System.Drawing.Bitmap(200, 20)
'Codec Info für eine Bitmap ermitteln
oImageCodecInfoArray = _
    System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders
For Each oCodeInfo As System.Drawing.Imaging.ImageCodecInfo In _
    oImageCodecInfoArray
    If oCodeInfo.MimeType = "image/bmp" Then
        oImageCodecInfo = oCodeInfo
        Exit For
    End If
Next
'Encoder für die Farbtiefe
oEncoder = System.Drawing.Imaging.Encoder.ColorDepth
oEncoderParameters = New System.Drawing.Imaging.EncoderParameters(1)
'Parameter des Encoders auf 24bit (shFarbtiefe) festlegen
oEncoderParameter = _
    New System.Drawing.Imaging.EncoderParameter( _
    oEncoder, shFarbtiefe)
oEncoderParameters.Param(0) = oEncoderParameter
oBildLarge.Save(sPfad, oImageCodecInfo, oEncoderParameters)
'Aufräumen
oBildLarge.Dispose()
oBildSmall.Dispose()
oImageCodecInfo = Nothing
oImageCodecInfoArray = Nothing
oEncoder = Nothing
oEncoderParameter.Dispose()
oEncoderParameters.Dispose()

Vieleicht hat in diesem Bereich jemand Erfahrung und kann mir sagen was ich Falsch mache, oder einen anderen Weg nennen!

------------------
Mfg Daniel

Beim Bill Gates, bei uns .net!
------------------

SolidWorks Programmierung | Tools | Makros | Software; Schuler Design Automation GmbH

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz