ImageEn, unit imageenproc

TImageEnProc.PasteFromClipboard

TImageEnProc.PasteFromClipboard


Declaration


function PasteFromClipboard(Dest: TIECopyPasteType = iecpAuto; MergeAlpha: Boolean = True; MaintainAspectRatio: Boolean = True; CanStretch: Boolean = True): Boolean;


Description


Pastes an image or layer from the clipboard.

Possible values for Dest:
Item Effect
iecpAuto ImageEn automatically detects the best destination. If an ImageEn layer exists on the clipboard, it is pasted as a new layer. If not, and there is a valid selection, the image is pasted to the selection. Failing that, the image on the clipboard replaces the current image
iecpFullImage The image on the clipboard replaces the existing image
iecpSelection If there is a selection in the associated TImageEnView, the image is pasted to the selection. If there is no selection, it fails
iecpLayer The image or layer on the clipboard is pasted as a new layer in the associated TImageEnView


Other parameters (Relevant only when pasting to a selection):
Parameter Description
MergeAlpha The alpha channel of the pasted bitmap will be merged with the background bitmap. It is only valid if image on the clipboard has been copied from TImageEnView
MaintainAspectRatio If False and pasting to a selection, the inserted image will fill the entire selection. I.e. set to true to maintain the aspect ratio of the original bitmap
CanStretch When pasting to a selection, CanStretch determines whether a source image smaller than the selection is enlarged or maintains its original size (has no effect if MaintainAspectRatio is False, i.e. image will always be stretched)


Result is false if a valid image was not found on the clipboard.

Notes:
- All uncompressed DIB formats are handled (1, 4, 8, 15, 16, 24 and 32 bits)
- Color images of 4, 8, 15, 16, 24 or 32 bits are converted to 24 bit. Monochrome images (1 bit) will remain 1 bit
- If the TImageEnProc is attached to a TIEBitmap, TImageEnMView or TImageEnFolderMView then only iecpFullImage is relevant (iecpAuto will have the same effect as iecpFullImage. iecpSelection and iecpLayer will always fail)


General Example


ImageEnView1.Proc.PasteFromClipboard( iecpAuto );

// Append an image to a TImageEnMView from the clipboard
if IEMView1.Proc.CanPasteFromClipboard() then
begin
  IEMView1.AppendImage( 0, 0 );
  IEMView1.Proc.PasteFromClipboard();
end;


Selection Examples


Source Image



// Paste an image on the clipboard to selection, maintaining the aspect ratio. The image will take the full size of the selection, but maintain its aspect ratio (will not be distored)
ImageEnView1.Proc.PasteFromClipboard( iecpSelection, True );


// Paste an image on the clipboard to selection, maintaining the aspect ratio. If the image is smaller than the selection it will maintain its original dimensions, if it is larger it will be reduced in size to fit within the selection (while maintaining the aspect ratio)
ImageEnView1.Proc.PasteFromClipboard( iecpSelection, True, True, False );


// Paste an image on the clipboard to selection. It will be stretched to the full area of the selection (which may distort the source image)
ImageEnView1.Proc.PasteFromClipboard( iecpSelection, True, False );



See Also


- CanPasteFromClipboard
- PointPasteFromClip
- LayersCreateFromClipboard
- CanCutToClipboard
- CutToClipboard
- CanCopyToClipboard
- CopyToClipboard