Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Max. Bildfarben auf 256 verringern möglich? (https://www.delphipraxis.net/159057-max-bildfarben-auf-256-verringern-moeglich.html)

raysto 12. Mär 2011 11:50

Max. Bildfarben auf 256 verringern möglich?
 
Hiho.
Ich habe eine Frage, ich wollte mir ein programm schreiben, mit dem ich mehrere Bilder laden kann und diese mit einem klick auf einen Button zu max. 256 Farben konvertieren kann. Aber erstmal muss ich wissen, ob das überhaupt möglich ist. Ich hoffe ihr könnt mir helfen^^

mfg raysto

Aphton 12. Mär 2011 11:59

AW: Max. Bildfarben auf 256 verringern möglich?
 
Es ist möglich.

raysto 12. Mär 2011 12:02

AW: Max. Bildfarben auf 256 verringern möglich?
 
Danke, kannst du mir auch sagen, wie das geht?

Aphton 12. Mär 2011 13:57

AW: Max. Bildfarben auf 256 verringern möglich?
 
Liste der Anhänge anzeigen (Anzahl: 1)
So...

Delphi-Quellcode:
type
  TBitmapArray = Array of TBitmap;

function LoadBitmaps(const Filenames: TStringList): TBitmapArray;
var
  i, j: Integer;
begin
  if Filenames.Count = 0 then
    Exit;
  j := 0;
  SetLength( Result, Filenames.Count );
  for i := 0 to High( Result ) do
    if FileExists( Filenames[i] ) then
    try
      Result[j] := TBitmap.Create;
      Result[j].LoadFromFile( Filenames[i] );
      inc( j );
    except
      if Assigned( Result[j] ) then
        Result[j].Free;
    end;
  SetLength( Result, j );
end;

procedure ConvertBmpsTo8Bit(const Bitmaps: TBitmapArray);
var
  i: Integer;
begin
  for i := 0 to High( Bitmaps ) do
    Bitmaps[i].PixelFormat := pf8Bit;
end;

procedure SaveBitmaps(const Filenames: TStringList; const Bitmaps: TBitmapArray);
var
  i: Integer;
begin
  if (Filenames.Count = 0) or (Filenames.Count <> Length( Bitmaps )) then
    Exit;
  for i := 0 to High( Bitmaps ) do
    Bitmaps[i].SaveToFile( Filenames[i] );
end;

procedure FreeBitmapArray(var Bitmaps: TBitmapArray);
var
  i: Integer;
begin
  for i := 0 to High( Bitmaps ) do
    try
      if Assigned( Bitmaps[i] ) then
        Bitmaps[i].Free;
    finally
    end;
  SetLength( Bitmaps, 0 );
end;

raysto 12. Mär 2011 14:02

AW: Max. Bildfarben auf 256 verringern möglich?
 
Danke sehr :)

raysto 12. Mär 2011 14:16

AW: Max. Bildfarben auf 256 verringern möglich?
 
Ist es auch möglich das mit PNG's zu machen?

mkinzler 12. Mär 2011 14:17

AW: Max. Bildfarben auf 256 verringern möglich?
 
Ja Delphi wandelt ja beim Laden per Filter alles in ein Bitmap um.

raysto 12. Mär 2011 14:18

AW: Max. Bildfarben auf 256 verringern möglich?
 
Ich habs aber versucht und es geht nicht :(

fkerber 12. Mär 2011 14:20

AW: Max. Bildfarben auf 256 verringern möglich?
 
Hi,

geht es etwas genauer?
Gibt es eine Fehlermeldung oder was passiert?


LG, Frederic

raysto 12. Mär 2011 14:22

AW: Max. Bildfarben auf 256 verringern möglich?
 
Es passiert einfach gar nichts. Ich habe anstatt Bitmaps, PNG's in den Ordner getan und es bleibt alles, wie es ist. Keine neuen Bilder erscheinen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:31 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz