TIEMultiBitmap.DuplicateCompressionInfo
Declaration
procedure DuplicateCompressionInfo(IncludePDFInfo: Boolean = False);
Description
Clone the compression information from idx 0 to all indexes.
If
IncludePDFInfo=True, PDF page properties are also duplicated.
Note:
◼Only relevant if
ParamsEnabled = true
◼Has no effect in
IsVirtual mode
The following properties are duplicated:
General◼BitsPerSample◼SamplesPerPixelTIFF◼TIFF_Compression◼TIFF_PhotometInterpret◼TIFF_PlanarConf◼TIFF_Orientation◼TIFF_EnableAdjustOrientation◼TIFF_JPEGQuality◼TIFF_JPEGColorSpace◼TIFF_FillOrder◼TIFF_ZIPCompression◼TIFF_StripCount◼TIFF_Normalize32fImagesGIF◼GIF_InterlacedJPEG◼JPEG_ColorSpace◼JPEG_Quality◼JPEG_DCTMethod◼JPEG_CromaSubsampling◼JPEG_OptimalHuffman◼JPEG_Smooth◼JPEG_ProgressiveJPEG2000◼J2000_ColorSpace◼J2000_Rate◼J2000_ScalableBy◼J2000_SubSamplingH◼J2000_SubSamplingV◼J2000_Reduce◼J2000_QualityPCX◼PCX_Version◼PCX_CompressionBMP◼BMP_Version◼BMP_Compression◼BMP_HandleTransparencyICO◼ICO_FormatPNG◼PNG_Interlaced◼PNG_Filter◼PNG_CompressionTGA◼TGA_Compressed◼TGA_GrayLevelPS◼PS_CompressionPDF◼PDF_Compression◼PDF_PaperWidth (if
IncludePDFInfo=True)
◼PDF_PaperHeight (if
IncludePDFInfo=True)
◼PDF_PageMargin (if
IncludePDFInfo=True)
◼PDF_ImageOptions (if
IncludePDFInfo=True)
DICOM◼DICOM_Range◼DICOM_Compression◼DICOM_JPEGQuality◼DICOM_J2000Rate// Change the compression method for a TIFF file
MBitmap := TIEMultiBitmap.Create();
MBitmap.ParamsEnabled := True;
MBitmap.LoadFromFile( 'C:\MyImage.tiff' );
MBitmap.Params[ 0 ].TIFF_Compression := ioTIFF_G4FAX;
MBitmap.DuplicateCompressionInfo();
MBitmap.SaveToFile( 'C:\OutImage.tiff' );
MBitmap.Free;
// Which is the same as:
MBitmap := TIEMultiBitmap.Create();
MParams := TIOMultiParams.Create();
MBitmap.LoadFromFile( 'C:\MyImage.tiff', MParams );
for i := 0 to MBitmap.count do
MParams[i].TIFF_Compression := ioTIFF_G4FAX;
MBitmap.SaveToFile( 'C:\OutImage.tiff', MParams );
MParams.Free;
MBitmap.Free;
// Create a multi-frame DICOM image from a source file list
procedure TForm1.CreateMultiDicom(sl: TStrings; SaveFilename: string);
var
mbmp: TIEMultiBitmap;
bmp : TIEBitmap;
i: Integer;
begin
mbmp := TIEMultiBitmap.Create();
for i := 0 to sl.count-1 do
begin
bmp := TIEBitmap.Create();
bmp.ParamsEnabled := True;
bmp.LoadFromFile(sl[i]);
mbmp.AppendImage(bmp);
bmp.Free;
end;
// Ensure all frames of DICOM are same size
for I := 1 to mbmp.Count - 1 do
begin
bmp := mbmp.GetTIEBitmap( I );
bmp.Resample( mbmp.ImageWidth[0], mbmp.ImageHeight[0], rfFastLinear );
mbmp.ReleaseBitmap( I, True );
end;
// Ensure all frames of DICOM have same duplication and pixel format info
mbmp.DuplicateCompressionInfo();
mbmp.SaveToFile( SaveFilename, ioDICOM );
mbmp.Free();
end;
// Save all pages to PDF (A4) with centered images (and no scaling of small images)
ImageEnMView1.MIO.Params[0].PDF_PaperSize := iepA4;
ImageEnMView1.MIO.Params[0].PDF_PageMargin := Round( 0.25 * 72 ); // 1/4 inch
ImageEnMView1.MIO.Params[0].PDF_ImageOptions := [iepioShrinkOnly, iepioCentered];
ImageEnMView1.MIO.DuplicateCompressionInfo(TRUE);
ImageEnMView1.MIO.SaveToFilePDF('d:\test.pdf');