Форум: "Media";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
ВнизСоздание программы для редактирования иконок Найти похожие ветки
← →
Konan (2004-11-08 12:29) [0]Господа, помогите пожалуйста. Какие компоненты нужно для того, чтобы мне при загрузке какого-либо изображения, на него было наложена решётка, как в программаж для создания иконок?
← →
easy © (2004-11-08 13:38) [1]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
icoBmp: TBitmap;
icoMask: TBitmap;
bmpBuf: TBitmap;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
icoBmp := TBitmap.Create;
icoBmp.Width := 32;
icoBmp.Height := 32;
icoMask := TBitmap.Create;
icoMask.Width := 32;
icoMask.Height := 32;
icoBmp.Canvas.Draw(0, 0, application.icon);
DrawIconEx(icoMask.Canvas.Handle, 0, 0, application.icon.Handle, 32, 32, 0, 0, DI_Mask);
bmpBuf := TBitmap.Create;
bmpBuf.Height := 512;
bmpBuf.Width := 512;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
icoBmp.Free;
icoMask.Free;
bmpBuf.Free;
end;
procedure TForm1.FormPaint(Sender: TObject);
var
i, j: integer;
clr: TColor;
begin
for i := 0 to 32 do
for j := 0 to 32 do begin
clr := icoBmp.Canvas.Pixels[i, j];
if icoMask.Canvas.Pixels[i, j] = clWhite then clr := clFuchsia;
bmpBuf.Canvas.Brush.Color := clr;
bmpBuf.Canvas.FillRect(rect(i * 16, j * 16, i * 16 + 15, j * 16 + 15));
end;
Canvas.Draw(0, 0, bmpBuf);
end;
end.
← →
easy © (2004-11-08 13:41) [2]ps: если ищешь компоненты, может лучше сразу взять готовый прог?
http://www.microangelo.us/
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c