SetBitmapListValue Example for Delphi
var
uCount: Cardinal;
nRet: Integer;
begin
LEADDicom1.EnableMethodErrors := false;
{ move to the root element }
LEADDicom1.MoveFirstElement(false);
LEADDicom1.MoveRootElement();
{ insert a new element for the BitmapList Value }
LEADDicom1.FindFirstElement(TAG_PIXEL_DATA, false);
LEADDicom1.DeleteElement();
LEADDicom1.InsertElement(false, TAG_PIXEL_DATA, VR_OB, false, 0);
{ load an image }
LEADImage1.Load ('c:\lead\images\image1.cmp', 0, 1, 1);
ShowMessage('Image loaded from File - Wait');
{ create a bitmap list }
LEADImage2.InsertBitmapListItem (0, LEADImage1.Bitmap);
LEADImage1.Flip ();
LEADImage2.InsertBitmapListItem(1, LEADImage1.Bitmap);
LEADImage1.
Reverse();
LEADImage2.InsertBitmapListItem(2, LEADImage1.Bitmap);
{ insert the image list into the element }
LEADDicom1.BitmapList := LEADImage2.BitmapList;
{ set the bitmap list }
nRet := LEADDicom1.SetBitmapListValue(DICOM_IMAGE_COMPRESSION_NONE, DICOM_IMAGE_PHOTOMETRIC_RGB, 0, 0);
If nRet <> SUCCESS Then
begin
ShowMessage('Error Number: ' + IntToStr(LEADDicom1.Error));
exit;
end;
ShowMessage('Image set to Data Set - Wait');
LEADDicom1.BitmapList := 0; { free the value }
ShowMessage('ImageList cleared from memory - Wait');
uCount := LEADDicom1.GetBitmapCount();
{ get the bitmap list back }
If nRet = SUCCESS Then
begin
LEADDicom1.GetBitmapListValue(0, uCount, 0, ORDER_RGB);
LEADImage1.BitmapList := LEADDicom1.BitmapList;
LEADImage1.ForceRepaint ();
End;
LEADDicom1.EnableMethodErrors := true;
ShowMessage('ImageList loaded from Data Set - Wait');
End;