Comment faire pour charger et afficher des images tiff en TImage de contrôle?
Je suis actuellement en train de travailler sur Delphi XE2 version d'essai. Je veux charger et afficher des images TIFF en TImage de contrôle sans l'aide d'un tiers de la composante/bibliothèque.
J'ai essayé le code ci-dessous mais il n'est pas woking pour moi.
Procedure TForm1.Button1Click(Sender: TObject);
Var
OleGraphic : TOleGraphic;
fs : TFileStream;
Source : TImage;
BMP : TBitmap;
Begin
Try
OleGraphic := TOleGraphic.Create;
fs := TFileStream.Create('c:\testtiff.dat', fmOpenRead Or fmSharedenyNone);
OleGraphic.LoadFromStream(fs);
Source := Timage.Create(Nil);
Source.Picture.Assign(OleGraphic);
BMP := TBitmap.Create;
bmp.Width := Source.Picture.Width;
bmp.Height := source.Picture.Height;
bmp.Canvas.Draw(0, 0, source.Picture.Graphic);
image1.Picture.Bitmap := bmp;
Finally
fs.Free;
OleGraphic.Free;
Source.Free;
bmp.Free;
End;
End;
S'il vous plaît conseils.
Si l'extension du fichier est une extension tiff, ce serait un one-liner, image1.Image.LoadFromFile(MyTiffFile). Sinon, cette question peut vous aider how-to-load-an-arbitrary-image-from-a-blob-stream-into-a-timage
Je me demande si ce code est entré à partir de l'échantillon dans swissdelphicenter.ch/fr/showcode.le php?id=2012 (datant de 2004). Je viens de trouver efficacement le même code dans un rarement exploré une partie de la base de code que je travaille sur.
Je me demande si ce code est entré à partir de l'échantillon dans swissdelphicenter.ch/fr/showcode.le php?id=2012 (datant de 2004). Je viens de trouver efficacement le même code dans un rarement exploré une partie de la base de code que je travaille sur.
OriginalL'auteur Dev | 2011-10-21
Vous devez vous connecter pour publier un commentaire.
Comme dit dans mon commentaire, si l'extension de fichier est la norme tiff extension le code pour ouvrir le fichier est trivial :
Si non, suivez la réponse de dwrbudr.
Voici un exemple :
Voir aussi
TWICImage
, qui fonctionne pour XP SP3 et.OriginalL'auteur LU RD
OriginalL'auteur dwrbudr
Vous pouvez utiliser
GDI+
:Je tiens également à mentionner Synopse
TSynPicture
(GDI+ emballage): https://stackoverflow.com/a/6251810/937125EDIT: GDI+
TGPImage
prend également en charge plusieurs tiff images/pages:Pour obtenir les images de comptage d'utilisation:
Pour définir le cadre actif utilisation:
Noter que
TSynPicture
prend également en charge plusieurs images.OriginalL'auteur kobik