Simple drag and drop from TimageEnView to TImageEnVect bitmap object:
procedure TForm1.FormCreate(Sender: TObject);
begin
ImageEnView1.IO.LoadFromFile('Pin.png');
ImageEnVect1.ObjBitmapHandleTransparencyOnSel := True;
ImageEnVect1.ObjBoxInnerSelectable := True;
ImageEnVect1.SelectionOptions := ImageEnVect1.SelectionOptions +
[iesoSelectTranspLayers];
end;
procedure TForm1.ImageEnVect1DragDrop(Sender, Source: TObject; X, Y: Integer);
const
TA: array [0 .. 3] of TIEAlignment = (iejLeft, iejRight, iejCenter,
iejJustify);
PS: array [0 .. 6] of TPenStyle = (psSolid, psDash, psDot, psDashDot,
psDashDotDot, psClear, psInsideFrame);
BS: array [0 .. 7] of TBrushStyle = (bsSolid, bsClear, bsBDiagonal,
bsFDiagonal, bsCross, bsDiagCross, bsHorizontal, bsVertical);
var
ihObj: Integer;
begin
if Source is TImageEnView then
begin
ImageEnVect1.ObjSaveUndo;
ImageEnVect1.ObjStyle[IEV_NEXT_INSERTED_OBJECT] := ImageEnVect1.ObjStyle
[IEV_NEXT_INSERTED_OBJECT] + [ievsSelectable, ievsMoveable, ievsSizeable,
ievsVisible];
ihObj := ImageEnVect1.AddNewObject;
ImageEnVect1.MouseInteractVt := [miPutBitmap];
ImageEnVect1.ObjKind[ihObj] := iekBITMAP;
ImageEnVect1.ObjBitmap[ihObj] := ImageEnView1.IEBitmap;
ImageEnVect1.ObjName[ihObj] :=
AnsiString('Bitmap ' + IntToStr(ImageEnVect1.ObjectsCount));
ImageEnVect1.ObjWidth[ihObj] := ImageEnView1.IEBitmap.Width;
ImageEnVect1.ObjHeight[ihObj] := ImageEnView1.IEBitmap.Height;
ImageEnVect1.ObjLeft[ihObj] := ImageEnVect1.Layers
[ImageEnVect1.LayersCurrent].ConvXScr2Bmp(X);
ImageEnVect1.ObjTop[ihObj] := ImageEnVect1.Layers
[ImageEnVect1.LayersCurrent].ConvYScr2Bmp(Y);
ImageEnVect1.MouseInteractVt := [miObjectSelect];
ImageEnVect1.UnSelAllObjects;
ImageEnVect1.SelObjects[ihObj];
ImageEnVect1.AddSelObject(ihObj);
end
else
begin
ImageEnVect1.MouseInteractVt := [miObjectSelect];
ImageEnVect1.UnSelAllObjects;
end;
end;
procedure TForm1.ImageEnVect1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept := Source is TImageEnView;
end;
procedure TForm1.LoadObjectBitmap1Click(Sender: TObject);
var
i: Integer;
iFilename: string;
ihObj: Integer;
begin
if OpenPictureDialog1.Execute then
iFilename := OpenPictureDialog1.FileName;
if FileExists(iFilename) then
begin
ImageEnView1.IO.LoadFromFile(iFilename);
for i := ImageEnVect1.ObjectsCount - 1 downto 0 do
begin
ImageEnVect1.ObjSaveUndo;
ihObj := ImageEnVect1.GetObjFromIndex(i);
if ImageEnVect1.IsSelObject(ihObj) then
begin
ImageEnVect1.ObjBitmap[ihObj] := ImageEnVect1.IEBitmap;
ImageEnVect1.Update;
end;
end;
end;
end;
Bill Miller
Adirondack Software & Graphics
Email: w2m@hughes.net
EBook: http://www.imageen.com/ebook/
Custom Commercial ImageEn Development