AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia einzel bmps aus einer tif Datei auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

einzel bmps aus einer tif Datei auslesen

Ein Thema von bernhard_LA · begonnen am 6. Jul 2012 · letzter Beitrag vom 11. Jul 2012
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.557 Beiträge
 
Delphi 12 Athens
 
#1

AW: einzel bmps aus einer tif Datei auslesen

  Alt 6. Jul 2012, 09:51
Ich weiß jetzt nicht, was Delphi schon an Board hat, aber TPicture nutzt aktuell TWICImage mit wifTiff (TWICImageFormat), wo ich nichts erkennen konnte, mit dem man eine Seite auswählen kann. (das nutzt wohl einfach immer nur die erste Seite)

Wir nutzen Bei Google suchenImageEn und dort kann man mit dem TIETIFFHandler recht einfach auf alles Mögliche des TIFFs zugreifen.


Bei Google suchenTTiffImage ?
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: einzel bmps aus einer tif Datei auslesen

  Alt 6. Jul 2012, 10:05
in der von mir schon häufiger erwähnten (Installations)+freien GDI+ API mit Beispielen unter "GDIPlus\demos\Using Image Encoders and Decoders"
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.153 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: einzel bmps aus einer tif Datei auslesen

  Alt 6. Jul 2012, 10:17
bitte den Download Link für

--- > GDIPlus\demos\Using Image Encoders and Decoders


auf der Embaracardero Seite habe ich nir GDI+ für D2009 gefunden

Geändert von bernhard_LA ( 6. Jul 2012 um 10:22 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#4

AW: einzel bmps aus einer tif Datei auslesen

  Alt 6. Jul 2012, 10:19
Using Image Encoders and Decoders
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: einzel bmps aus einer tif Datei auslesen

  Alt 6. Jul 2012, 11:09
Alles im API-Paket von GDI+ unter

http://www.progdigy.com/
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.153 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: einzel bmps aus einer tif Datei auslesen

  Alt 6. Jul 2012, 11:26
anbei mein DEMO code mit GDI PLus .... leider is jedes einzelnen *.tif Bild nur schwarz




Delphi-Quellcode:

unit Unit_GDIPLUSDEMO;
///
/// extract all pages from an *.tif file using GDI PLus
///
///
///
///

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, GDIPAPI, GDIPOBJ, GDIPUTIL, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    edt_imagefilename: TEdit;
    btn_loadfilename: TButton;
    dlgOpenimagefile: TOpenDialog;
    btn_splitt_tif_file: TButton;
    procedure btn_loadfilenameClick(Sender: TObject);
    procedure btn_splitt_tif_fileClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn_loadfilenameClick(Sender: TObject);
begin
     if dlgOpenimagefile.Execute then
     begin

     edt_imagefilename.Text := dlgOpenimagefile.FileName;

     end;

end;

procedure TForm1.btn_splitt_tif_fileClick(Sender: TObject);
var
   encoderClsid: TGUID;
   encoderParameters: TEncoderParameters;
   quality: ULONG;
   stat: TStatus;
   MulitFrameImage: TGPImage;
   PageIndex : Integer;
   NewFilename : String;
begin

      /// Get an tif image from the disk.
      MulitFrameImage := TGPImage.Create(edt_imagefilename.Text);


     /// Get the CLSID of the JPEG, TIFF ... encoder.
     GetEncoderClsid('image/tif', encoderClsid);

    for PageIndex:= 1 to 80 do
    begin

     /// Display and save the first page (index 0).
    MulitFrameImage.SelectActiveFrame(encoderClsid, PageIndex);
    // graphics.DrawImage(&multi, 10, 10);


    NewFilename := 'e:\tiffsplit\' + ExtractFileName(edt_imagefilename.Text) + IntToStr(PageIndex) + '.tif';

    MulitFrameImage.Save( WideString(NewFilename), encoderClsid, nil );


 end;

end;

end.


ich denke MulitFrameImage.Save( WideString(NewFilename), encoderClsid, nil ); ist falsch , aber mit
der Version MulitFrameImage.Save( WideString(NewFilename), encoderClsid, @encoderParameters ); bekomme ich eine AV
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.153 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: einzel bmps aus einer tif Datei auslesen

  Alt 6. Jul 2012, 11:31
Fehler gefunden --- encoder tiff nicht tif
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 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