Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   GDI + tif - MultiPage - Bild wird dunkler (https://www.delphipraxis.net/169251-gdi-tif-multipage-bild-wird-dunkler.html)

bernhard_LA 6. Jul 2012 13:59

GDI + tif - MultiPage - Bild wird dunkler
 
beim extrahieren aller Pages aus einer tif DAtei , sind jetzt die einzelnen Bitmaps sehr viel Dunkler abspeicherts als das Original
kann ich hier mit GDI + den ursprünglichen Wert beibehalten ?


erster Post zu diesem Thema ( http://www.delphipraxis.net/169243-e...ml#post1173787 )

Bummi 6. Jul 2012 14:10

AW: GDI + tif - MultiPage - Bild wird dunkler
 
hast Du mal probiert was passiert wenn Du sie als PNG's speicherst, gegf. hat es etwas mit den TEncoderParameters zu tun, ich habe diese bisher nie gebraucht ...
die Grundsätzlich Verwendung funktioniert wohl so
Delphi-Quellcode:
        Wert := 2;
        encoderParameters.Count := 1;
        encoderParameters.Parameter[0].Guid := EncoderCompression;
        encoderParameters.Parameter[0].Type_ := EncoderParameterValueTypeLong;
        encoderParameters.Parameter[0].NumberOfValues := 1;
        encoderParameters.Parameter[0].Value := @Wert;

bernhard_LA 6. Jul 2012 14:22

AW: GDI + tif - MultiPage - Bild wird dunkler
 
Liste der Anhänge anzeigen (Anzahl: 1)
er ändert den DPI Wert und die Farbtiefe , probiere den Tipp mit png mal aus

bernhard_LA 6. Jul 2012 14:34

AW: GDI + tif - MultiPage - Bild wird dunkler
 
Liste der Anhänge anzeigen (Anzahl: 1)
der Farbrange wird von 74 ..... 180 auf 90 ...110 zusammengefahren, :(

Bummi 6. Jul 2012 14:52

AW: GDI + tif - MultiPage - Bild wird dunkler
 
Die Auflösung wird ja standardmäßig auf 32 Bit aufgezogen, vielleicht hast Du Lust mit folgendem Schnipsel zu experimentieren?

Delphi-Quellcode:
procedure TForm5.Button2Click(Sender: TObject);
var
   encoderClsid: TGUID;
   MulitFrameImage: TGPImage;
   PageIndex : Integer;
   NewFilename : String;
   dest:TGPBitmap;
   G:TGPGraphics;
begin

    MulitFrameImage := TGPImage.Create('C:\temp\MultiFrame.tif');


    GetEncoderClsid('image/png', encoderClsid);
    for PageIndex:= 0 to GetFrameCount(MulitFrameImage) - 1 do
    begin
        MulitFrameImage.SelectActiveFrame(FrameDimensionPage, PageIndex);
                                                                                  //>> hier ist Platz zum expriementieren
        dest:=TGPBitmap.Create(MulitFrameImage.GetWidth,MulitFrameImage.GetHeight,PixelFormat16bppRGB565);
        g := TGPGraphics.Create(dest);
        g.DrawImage(MulitFrameImage,MakePoint(0,0));
        NewFilename := 'c:\temp\b' + IntToStr(pageIndex)+'.png';
        dest.Save( WideString(NewFilename), encoderClsid, nil );
        g.Free;
        Dest.Free;
    end;
   MulitFrameImage.Free;
end;

bernhard_LA 6. Jul 2012 17:45

AW: GDI + tif - MultiPage - Bild wird dunkler
 
haben einen interessanten link für DELPHI und GDI+ gefunden http://trac.assembla.com/delphiexter...Decoders?rev=1


bin noch am lesen und experimentieren

Bummi 6. Jul 2012 17:53

AW: GDI + tif - MultiPage - Bild wird dunkler
 
Das und noch mehr ist doch in dem Paket von http://www.progdigy.com/ unter Demos bereits enthalten :?::?:

EWeiss 6. Jul 2012 18:46

AW: GDI + tif - MultiPage - Bild wird dunkler
 
Zitat:

Zitat von Bummi (Beitrag 1173843)
Das und noch mehr ist doch in dem Paket von http://www.progdigy.com/ unter Demos bereits enthalten :?::?:

Es sollte kein problem sein mit GDI+ die Bilder verlustfrei in jegliches Format zu speichern.
Wie Bummi schon sagt eine frage der encoder parameter.

gruss

Namenloser 6. Jul 2012 19:57

AW: GDI + tif - MultiPage - Bild wird dunkler
 
Unterstützt TIF Gamma-Korrektur? Falls ja, könnte es damit zusammenhängen. Bei PNGs kenne ich solche Probleme...

bernhard_LA 6. Jul 2012 21:03

AW: GDI + tif - MultiPage - Bild wird dunkler
 
bin auf der suche nach zwei Anweisung von diesem Typ :

Delphi-Quellcode:
   

  encoderParameters.Count := 1;
  encoderParameters.Parameter[0].Guid := EncoderCompression;
  encoderParameters.Parameter[0].Type_ := EncoderParameterValueTypeLong;
  encoderParameters.Parameter[0].NumberOfValues := 1;
  encoderParameters.Parameter[0].Value := @CompressionValue;


  encoderParameters.Count := 2;
  encoderParameters.Parameter[1].Guid := EncoderColorDepth;
  encoderParameters.Parameter[1].Type_ := EncoderParameterValueTypeLong;
  encoderParameters.Parameter[1].NumberOfValues := 1;
  encoderParameters.Parameter[1].Value := @ColorDepthValue;

  ColorDepthValue := PixelFormat16bppGrayScale;
a) compression auf none zu setzen
http://www.universalthread.com/ViewP...le.aspx?ID=864


b) Farbtiefe auf 256 bit


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:24 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