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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2014, 10:25   #1
elviss77
Пользователь
 
Регистрация: 22.06.2014
Сообщений: 22
По умолчанию сохранение рисунка paintbox и его редактирование

всем привет!Помогите решить такую задачу:с помощью PaintBox я рисую квадрат(это я сделал),нужно по клику на кнопку вывести на новую форму мой рисунок с возможностью его дальнейшего редактирования тем же PaintBox
elviss77 вне форума Ответить с цитированием
Старый 24.06.2014, 19:23   #2
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

и в чем проблема?
ZuBy вне форума Ответить с цитированием
Старый 24.06.2014, 20:32   #3
elviss77
Пользователь
 
Регистрация: 22.06.2014
Сообщений: 22
По умолчанию

Цитата:
Сообщение от ZuBy Посмотреть сообщение
и в чем проблема?
создал 2 форму,и никак не пойму как с формы один кликнув по кнопке на 2 форме мой рисунок вышел
elviss77 вне форума Ответить с цитированием
Старый 24.06.2014, 20:35   #4
elviss77
Пользователь
 
Регистрация: 22.06.2014
Сообщений: 22
По умолчанию

вот мой код
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    PaintBox1: TPaintBox;
    Edit1: TEdit;
    Button1: TButton;
    procedure PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure PaintBox1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button1Click(Sender: TObject);
  private
  ClickPos, CursorPos: TPoint;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
ClickPos := Point(X, Y);
 CursorPos := ClickPos;
 Canvas.Pen.Color := clRed;
 Canvas.Pen.Mode := pmNotXor;
 Canvas.Pen.Width := 3;
end;

procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
 if ssLeft in Shift
  then begin
      Canvas.MoveTo(ClickPos.X, ClickPos.Y);
      Canvas.LineTo(CursorPos.X, CursorPos.Y);
      CursorPos := Point(X, Y);
      Canvas.MoveTo(ClickPos.X, ClickPos.Y);
      Canvas.LineTo(X, Y);
      end;
end;

procedure TForm1.PaintBox1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 Canvas.Pen.Mode := pmCopy;
 Canvas.MoveTo(ClickPos.X, ClickPos.Y);
 Canvas.LineTo(CursorPos.X, CursorPos.Y);
end;

procedure TForm1.Button1Click(Sender: TObject);

begin

end;

end.

Последний раз редактировалось Stilet; 24.06.2014 в 22:02.
elviss77 вне форума Ответить с цитированием
Старый 25.06.2014, 06:16   #5
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Цитата:
Сообщение от elviss77 Посмотреть сообщение
создал 2 форму,и никак не пойму как с формы один кликнув по кнопке на 2 форме мой рисунок вышел
Если форма 2 создана и иницилизирована(Avto Create Form стоит), то присвой Canvas PaintBox на первой форме к Canvas-у PaintBox-а на второй форме и, наконец, покажи форму. По идее, при отрисовке формы и вместе с ней компонента, рисунок должен быть там.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 25.06.2014, 12:21   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

PaintBox1 зачем там, если на канвас формы все рисуется?
Код:
PaintBox2.Canvas.CopyRect(PaintBox2.ClientRect,PaintBox1.Canvas,PaintBox1.ClientRect);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение и редактирование текста в MDI taracqk Общие вопросы Delphi 2 24.11.2011 13:34
обновление рисунка в PaintBox HelenSecuriter C++ Builder 2 29.06.2011 20:09
Сохранение нарисованного рисунка в графический файл Lawrence Общие вопросы .NET 5 09.09.2010 16:23
Редактирование, сохранение БД Access (Delphi) monushka БД в Delphi 8 10.11.2009 11:32
Delphi: «Сохранение» рисунка Jean-Esther Помощь студентам 5 01.03.2009 17:21