0 Members and 1 Guest are viewing this topic.
Не получается установить ACLPackage для режима х64
Если без установки в uses прописать нужные модули из runtime, то на каждый (и на все, что те ссылаются) выдаёт:[dcc64 Fatal Error] ACL.Graphics.pas(16): F1026 File not found: 'ACL.Config.inc'
Нужно пути прописать к файлам (ну или кинуть все в папку с проектом)
ACL.Config.inc
так он лежит не в Base, а на уровне выше, рядом с пакетом.
procedure TForm1.DrawBtnClick(Sender: TObject);var LImage : TACLImage; LBitmap : TACLBitmap; LDib : TACLBitmapLayer;begin// LImage := TACLImage.Create(HInstance, 'Red', PChar('RCDATA')); LImage := TACLImage.Create('d:\Delphi_Projects\ACL_exp\Red.png'); try LBitmap := LImage.ToBitmap; try LDib := TACLBitmapLayer.Create; LDib.Assign(LBitmap); finally LBitmap.Free; end; finally LImage.Free; end; PaintBox.Canvas.Brush.Color := clBlack; PaintBox.Canvas.FillRect(PaintBox.ClientRect); LDib.DrawBlend(PaintBox.Canvas, Point(100,100), bmAddition, 255); LDib.Freeend;
LDib := TACLBitmapLayer.Create; LImage := TACLImage.Create('B:\Red.png'); try LImage.SaveToDib(LDib); finally LImage.Free; end; PaintBox1.Canvas.Brush.Color := clBlack; PaintBox1.Canvas.FillRect(PaintBox1.ClientRect); LDib.DrawBlend(PaintBox1.Canvas, Point(100,100), bmAddition, 255); LDib.Free
В общем... я сделал иначе, и оно даже стало чуть проще.
ImgR := TPNGImage.Create; ImgR.LoadFromResourceName(HInstance, 'Red');
ACLDib.Resize использовать не получается
ACLDib.Resize использовать не получается и DrawBlend принимает только TPoint
procedure TForm1.DrawBtnClick(Sender: TObject);var LImage : TACLImage; DstDib, LDib : TACLBitmapLayer;begin LImage := TACLImage.Create(HInstance, 'Red', RT_RCDATA); LDib := TACLBitmapLayer.Create; DstDib := TACLBitmapLayer.Create(PaintBox.ClientRect); try LImage.SaveToDib(LDib); finally LImage.Free; end; PaintBox.Canvas.Brush.Color := clBlack; PaintBox.Canvas.FillRect(PaintBox.ClientRect); LDib.DrawBlend(DstDib.Canvas, Rect(50,50,300,300), 255, true); DstDib.DrawBlend(PaintBox.Canvas, Point(0,0), bmAddition, 255); LDib.Free; DstDib.Freeend;
Но как это будет шевелиться в плагине в Draw, ещё и ресайз слоёв делать надо при изменении размера окна.
Не получается в плагине подключить модули ACL.Graphics.Ex, ACL.Graphics.Images (на форме работает).При попытке компиляции открываются эти файлы и стопорится на одном и том же месте:[dcc64 Fatal Error] ACL.Graphics.Ex.pas(37): F2613 Unit 'Graphics' not found.
В свойствах проекта в разделе компилятора надо дописать в Unit scope names Vcl;Vcl.Imaging;Vcl.Touch;