![]() |
Farbtiefenänderung eines Bitmaps
Wenn man die Dateigröße von Bitmaps verringern möchte ändert man am einfachsten die Farbtiefe! Das bringt meistens eine enorme Verkleinerung der Dateigröße und die Bilder sehen trotzdem noch (je nach Änderung) gut aus... :D
Delphi-Quellcode:
//datentypen:
// BitmapXXbit = Bitmap mit 24, 32 usw. Bit // Bitmap8Bit = Bitmap mit 256 Farben // JPG = TJPegImage (uses jpeg!!) als utility // Reduzieren der Bitmap Qualität mit dem Palette Optimizing von JPEG function BMPReduceTo8Bit(BitmapXXBit: TBitmap): TBitmap; vAR JPG: TJPegImage; Bitmap8bit: TBitmap; begin if BitmapXXBit <> nil then begin JPG := TJpegImage.Create; JPG.CompressionQuality := 100; // <--damit die bitmap nicht komprimiert wird JPG.Assign(BitmapXXBit); //<- BitmapXXBit -> JPG JPG.JPEGNeeded; // <-- verwandle in JPEG! JPG.PixelFormat := jf8bit; // 8 bit reduzierung JPG.DibNeeded; // palette wird neu geschrieben, wieder bitmap fähig bitmap8bit:=TBitmap.Create; bitmap8bit.PixelFormat := pf8bit; bitmap8bit.Assign(JPG); // JPG (8bit, opt.palette) -> BMP (8bit) // bitmap8bit.SaveToFile('whatever.bmp'); <-speichern JPG.Free; Result:=Bitmap8Bit; end; // if %Bmp ned nil end; // Proc %bmp8bit ![]() Zitat zu dem Thema: ( ![]() Zitat:
MfG Florian :hi: [edit=Chakotay1308]Besser? ;) Mfg, Chakotay1308[/edit] [edit=flomei]Viel besser... :mrgreen: ===> In Code-Lib verschoben...[/edit] [edit=Matze]Code formatiert. Mfg, Matze[/edit] [edit=flomei]Wir "räumen auf", daher Titel geändert... Mfg, flomei[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz