cs_Ricquet
Messages postés20Date d'inscriptionmardi 13 février 2007StatutMembreDernière intervention30 novembre 2010 30 déc. 2008 à 13:42
Merci pour la clarté du prog favorisant l'utilisation de l'unité ImageMetaData.
Pour info, j'ai ajouté la ligne suivante à la procédure SaveToJpeg afin d'éviter plantage avec grosses images :
JpegImage.CompressionQuality:= 80; SaveOK := false;
with JpegImage do
While not saveOK and (CompressionQuality > 30) do
try SaveToStream(ImageStream);
SaveOK := true;
Except CompressionQuality := CompressionQuality -20 end;
ni69
Messages postés1418Date d'inscriptionsamedi 12 juin 2004StatutMembreDernière intervention 5 juillet 201012 13 août 2008 à 03:17
A savoir que Windows utilise un emplacement différent pour le stockage de son champ "Commentaires"...
ThWilliam
Messages postés418Date d'inscriptionmardi 3 janvier 2006StatutMembreDernière intervention26 novembre 20134 14 oct. 2007 à 08:21
Salut F0XI et merci pour ces fonctions en assembleur.
A +
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 14 oct. 2007 à 06:05
juste a titre d'exemple on peu ameliorer les fonctions "swap" par une seule ligne de code pour les entiers 16 et 32bits, 4 lignes pour les entiers 64bits :
function BSwap16(const a: word): word;
asm
xchg al, ah;
end;
function BSwap32(const a: integer): integer;
asm
bswap eax;
end;
bien que ça ne jouera pas trop sur les performances, ça reste toujours interressants de savoir profiter des instructions "rapide" pour ce genre de manip.
30 déc. 2008 à 13:42
Pour info, j'ai ajouté la ligne suivante à la procédure SaveToJpeg afin d'éviter plantage avec grosses images :
JpegImage.CompressionQuality:= 80; SaveOK := false;
with JpegImage do
While not saveOK and (CompressionQuality > 30) do
try SaveToStream(ImageStream);
SaveOK := true;
Except CompressionQuality := CompressionQuality -20 end;
Je me lance dans activité diaporamas, si intérréssé / partenariat, me retrouver sur site : http://pagesperso-orange.fr/Edialbum/index.htm
Eric
13 août 2008 à 03:17
14 oct. 2007 à 08:21
A +
14 oct. 2007 à 06:05
function BSwap16(const a: word): word;
asm
xchg al, ah;
end;
function BSwap32(const a: integer): integer;
asm
bswap eax;
end;
function BSwap64(const a: int64): int64;
asm
mov edx, [ebp+$08];
mov eax, [ebp+$0C];
bswap eax;
bswap edx;
end;
bien que ça ne jouera pas trop sur les performances, ça reste toujours interressants de savoir profiter des instructions "rapide" pour ce genre de manip.