Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2012, 15:09   #1
ali23210275
Пользователь
 
Аватар для ali23210275
 
Регистрация: 06.03.2012
Сообщений: 17
По умолчанию Графический редактор. Delphi

это код графического редактора...но там есть небольшой косячок..например, нарисовали рисунок и хотим залить фон..и когда он заливает фон нарисованная картинка как бы остается под ним и пропадает..что нужно сделать чтоб нормально заливалось как в Paint. За заливание отвечает компонент Button3.
Код:
unit Unit4;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, ExtDlgs;

type
TForm4 = class(TForm)
Image1: TImage;
Button1: TButton;
Button2: TButton;
SaveDialog1: TSaveDialog;
EditSize: TEdit;
ColorBox1: TColorBox;
Button3: TButton;
Button4: TButton;
OpenPictureDialog1: TOpenPictureDialog;
procedure FormShow(Sender: TObject);
procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form4: TForm4;
gg:Boolean;
implementation

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);
begin
if SaveDialog1.Execute then
Image1.Picture.Bitmap.SaveToFile (SaveDialog1.FileName);
end;

procedure TForm4.Button2Click(Sender: TObject);
begin
Image1.Canvas.FillRect(ClientRect);
end;

procedure TForm4.Button3Click(Sender: TObject);
begin
Image1.Canvas.Brush.Color:=ColorBox1.Selected;
Image1.Canvas.FillRect(ClientRect);

end;

procedure TForm4.Button4Click(Sender: TObject);
Var
bmp:TBitmap;
begin
bmp:=TBitmap.Create;
if OpenPictureDialog1.Execute then
begin
bmp.LoadFromFile(OpenPictureDialog1.FileName);
Image1.Canvas.Draw(10,10,bmp);
end;
end;

procedure TForm4.FormShow(Sender: TObject);
begin
Image1.Canvas.FillRect(ClientRect); //для очищения Image при открытии формы
end;

procedure TForm4.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
gg:=True;
Image1.Canvas.MoveTo(x,y);
end;

procedure TForm4.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if gg then
begin
Image1.Canvas.Pen.Color:=ColorBox1.Selected;
Image1.Canvas.Pen.Width:=strToInt(EditSize.Text);
Image1.Canvas.LineTo(x,y);
end;
end;

procedure TForm4.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
gg:=False;
end;

end.

Последний раз редактировалось Stilet; 29.05.2014 в 11:32.
ali23210275 вне форума Ответить с цитированием
Старый 29.05.2014, 09:03   #2
Antua
 
Регистрация: 23.03.2012
Сообщений: 3
По умолчанию

Жалко, что никто не откликнулся. У меня та же проблема.
Может подскажите рабочий код простенького графического редактора на Delphi...
Спасибо.
Antua вне форума Ответить с цитированием
Старый 29.05.2014, 10:32   #3
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

http://orenstudent.ru/upragDlp.htm#Graphic
Совсем не дорого...
помогать студентам - моя вторая профессия
was3110 вне форума Ответить с цитированием
Старый 29.05.2014, 10:33   #4
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

В комплекте идет с дельфи. В папке examples (samples).
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 30.05.2014, 11:23   #5
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

Цитата:
Сообщение от was3110 Посмотреть сообщение
Совсем не дорого...
Символическую плату беру за доработку под требования преподавателей и консультацию по скайп, если моих подробных комментариев оказалось не достаточно...
помогать студентам - моя вторая профессия
was3110 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графический редактор - zoom(лупа), Delphi vitalatron Помощь студентам 11 18.07.2012 10:12
Delphi графический редактор MariaE Помощь студентам 3 01.06.2011 15:05
Графический редактор (Delphi) susanin1991 Помощь студентам 0 11.12.2010 17:17
Как писать графический редактор в Delphi 7 Vladya Мультимедиа в Delphi 12 02.04.2009 18:51
графический редактор на Delphi gulfiyush Помощь студентам 3 05.12.2007 13:07