Bonjour,
Une nouvelle demande d'aide SVP...
FillChar de Delphi à remplacer pour C++Builder.
Exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
void __fastcall TForm1::InitializeBitmapInfoHeader(HBITMAP Bitmap, tagBITMAPINFOHEADER &BI, int Colors)
{
  TDIBSection DS;
  int Bytes = 0;
  DS.dsBmih.biSize = 0;
  Bytes = GetObject(Bitmap, sizeof(DS), &DS);
  if (Bytes == 0) InvalidBitmap();
  else
	if((Bytes >= (sizeof(DS.dsBm) + sizeof(DS.dsBmih))) && (DS.dsBmih.biSize >= ((DWORD) sizeof(DS.dsBmih))))
	  BI = DS.dsBmih;
	else
	{
	 // "COMMENT" remplacer FillChar de Delphi pour C++Builder. Aide de Delphi: FillChar(var X; Count: Integer; Value: Ordinal);
	 FillChar(BI, sizeof(BI), 0);
	}
  if (Colors != 0)
	switch ( Colors )
	{
	  case 2:        BI.biBitCount = 1;  break;
	  case 16:       BI.biBitCount = 4;  break;
	  case 256:      BI.biBitCount = 8;  break;
	  case 65536:    BI.biBitCount = 16; break;
	  case 16777216: BI.biBitCount = 24; break;
	}
  else  BI.biBitCount = DS.dsBm.bmBitsPixel * DS.dsBm.bmPlanes;
  BI.biPlanes = 1;
  if (BI.biSizeImage == 0 )
	 BI.biSizeImage = BytesPerScanline(BI.biWidth, BI.biBitCount, 32) * Ceil((const double)BI.biHeight);
}
Merci par avance.