k=0; for (row_counter=0; row_counter<imageHeight; row_counter++) { TIFFReadScanline(tiffRead , line_buffer , row_counter); for( j=0; j<ScanlineSize; j+=3 ) //reading RGB val ue from file and combining into pixel[k] { pic_buffer[k] = ( ((((uint32)line_buffer[j]) <<8<<8 )&0x00FF0000) | ((((uint32)line_buffer[j+1]) <<8 )&0x0000FF00) | (((uint32)line_buffer[j+2])&0x000000FF) ); k++; } }
Merci d'avance
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. "
Si par transcrire vous entendez traduire le type "uint32" en type compatible windev, je pense qu'il peut etre transformé en: "un entier sans signe sur 4 octets"
Pierre BOUSQUET a écrit :
Bonjour,
Je n'arrive pas à transcrire le type uint32 dans ce programme
k=0;
for (row_counter=0; row_counter<imageHeight; row_counter++)
{
TIFFReadScanline(tiffRead , line_buffer , row_counter);
for( j=0; j<ScanlineSize; j+=3 ) //reading RGB val ue
from file and combining into pixel[k]
{
pic_buffer[k] = ( ((((uint32)line_buffer[j]) <<8<<8
)&0x00FF0000)
| ((((uint32)line_buffer[j+1]) <<8
)&0x0000FF00)
| (((uint32)line_buffer[j+2])&0x000000FF)
);
k++;
}
}
Merci d'avance
--
Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
Si par transcrire vous entendez traduire le type "uint32" en type
compatible windev, je pense qu'il peut etre transformé en: "un entier
sans signe sur 4 octets"
k=0; for (row_counter=0; row_counter<imageHeight; row_counter++) { TIFFReadScanline(tiffRead , line_buffer , row_counter); for( j=0; j<ScanlineSize; j+=3 ) //reading RGB val ue from file and combining into pixel[k] { pic_buffer[k] = ( ((((uint32)line_buffer[j]) <<8<<8 )&0x00FF0000) | ((((uint32)line_buffer[j+1]) <<8 )&0x0000FF00) | (((uint32)line_buffer[j+2])&0x000000FF) ); k++; } }
Merci d'avance
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. "
Si par transcrire vous entendez traduire le type "uint32" en type compatible windev, je pense qu'il peut etre transformé en: "un entier sans signe sur 4 octets"
pic_buffer est un DWORD PTR (pointeur 32-bit) qui pointe sur un bitmap mémoire ou un DIB 32-bit d'une taille de (4 * imageWidth * imageHeight)
Patrice Terrier www.zapsolution.com
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. "
patrice
"Pierre BOUSQUET" a écrit dans le message de news:
merci, c'est ce que j'ai fait avec
Buff est un buffer API(Dll,"TIFFReadScanline",tiffRead , &Buff , row_counter)
ca ne plante pas mais ne fonctionne pas...
un buffer windev est tout sauf un buffer :) si le buffer est alloué par la dll alors il s'agit juste d'un pointeur Buff est un entier sans signe sur 4 octets API(Dll,"TIFFReadScanline",tiffRead , &Buff , row_counter)
"Pierre BOUSQUET" <pb4807@hotmail.com> a écrit dans le message de
news:mn.e3d27d722f0eb53d.47088@hotmail.com...
merci, c'est ce que j'ai fait avec
Buff est un buffer
API(Dll,"TIFFReadScanline",tiffRead , &Buff , row_counter)
ca ne plante pas mais ne fonctionne pas...
un buffer windev est tout sauf un buffer :)
si le buffer est alloué par la dll alors il s'agit juste d'un pointeur
Buff est un entier sans signe sur 4 octets
API(Dll,"TIFFReadScanline",tiffRead , &Buff , row_counter)
"Pierre BOUSQUET" a écrit dans le message de news:
merci, c'est ce que j'ai fait avec
Buff est un buffer API(Dll,"TIFFReadScanline",tiffRead , &Buff , row_counter)
ca ne plante pas mais ne fonctionne pas...
un buffer windev est tout sauf un buffer :) si le buffer est alloué par la dll alors il s'agit juste d'un pointeur Buff est un entier sans signe sur 4 octets API(Dll,"TIFFReadScanline",tiffRead , &Buff , row_counter)
Pierre BOUSQUET
certe, mais alors pour recuperer le buffer il faudrait faire (?) :
Buff est buffer raster est entier sur 4 octets sans signe = API(Dll,"TIFFmalloc",4*TailleLigne) API(Dll,"TIFFReadScanline",tiffRead , raster , row_counter) transfert(&Buff, raster, 4*TailleLigne)
patrice a exprimé avec précision :
"Pierre BOUSQUET" a écrit dans le message de news:
merci, c'est ce que j'ai fait avec
Buff est un buffer API(Dll,"TIFFReadScanline",tiffRead , &Buff , row_counter)
ca ne plante pas mais ne fonctionne pas...
un buffer windev est tout sauf un buffer :) si le buffer est alloué par la dll alors il s'agit juste d'un pointeur Buff est un entier sans signe sur 4 octets API(Dll,"TIFFReadScanline",tiffRead , &Buff , row_counter)
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. "
certe, mais alors pour recuperer le buffer il faudrait faire (?) :
Buff est buffer
raster est entier sur 4 octets sans signe =
API(Dll,"TIFFmalloc",4*TailleLigne)
API(Dll,"TIFFReadScanline",tiffRead , raster , row_counter)
transfert(&Buff, raster, 4*TailleLigne)
patrice a exprimé avec précision :
"Pierre BOUSQUET" <pb4807@hotmail.com> a écrit dans le message de
news:mn.e3d27d722f0eb53d.47088@hotmail.com...
merci, c'est ce que j'ai fait avec
Buff est un buffer
API(Dll,"TIFFReadScanline",tiffRead , &Buff , row_counter)
ca ne plante pas mais ne fonctionne pas...
un buffer windev est tout sauf un buffer :)
si le buffer est alloué par la dll alors il s'agit juste d'un pointeur
Buff est un entier sans signe sur 4 octets
API(Dll,"TIFFReadScanline",tiffRead , &Buff , row_counter)
--
Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile.
S'il n'était pas difficile, ce ne serait pas un problème. "
certe, mais alors pour recuperer le buffer il faudrait faire (?) :
Buff est buffer raster est entier sur 4 octets sans signe = API(Dll,"TIFFmalloc",4*TailleLigne) API(Dll,"TIFFReadScanline",tiffRead , raster , row_counter) transfert(&Buff, raster, 4*TailleLigne)
patrice a exprimé avec précision :
"Pierre BOUSQUET" a écrit dans le message de news:
merci, c'est ce que j'ai fait avec
Buff est un buffer API(Dll,"TIFFReadScanline",tiffRead , &Buff , row_counter)
ca ne plante pas mais ne fonctionne pas...
un buffer windev est tout sauf un buffer :) si le buffer est alloué par la dll alors il s'agit juste d'un pointeur Buff est un entier sans signe sur 4 octets API(Dll,"TIFFReadScanline",tiffRead , &Buff , row_counter)
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. "
patrice
Pierre BOUSQUET a écrit :
certe, mais alors pour recuperer le buffer il faudrait faire (?) :
Buff est buffer raster est entier sur 4 octets sans signe = API(Dll,"TIFFmalloc",4*TailleLigne) API(Dll,"TIFFReadScanline",tiffRead , raster , row_counter) transfert(&Buff, raster, 4*TailleLigne)
ca sonne beaucoup plus vrai
mais attention, raster est un buffer alloué et faudra pas oublier de le desallouer
et pourquoi récupérer le buffer de la dll dans un buffer windev ? si c'est pas indispensable, vaudrait mieux éviter
Pierre BOUSQUET a écrit :
certe, mais alors pour recuperer le buffer il faudrait faire (?) :
Buff est buffer
raster est entier sur 4 octets sans signe =
API(Dll,"TIFFmalloc",4*TailleLigne)
API(Dll,"TIFFReadScanline",tiffRead , raster , row_counter)
transfert(&Buff, raster, 4*TailleLigne)
ca sonne beaucoup plus vrai
mais attention, raster est un buffer alloué et faudra pas oublier de le
desallouer
et pourquoi récupérer le buffer de la dll dans un buffer windev ? si
c'est pas indispensable, vaudrait mieux éviter