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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.12.2007, 17:19   #1
Marsik
Форумчанин
 
Аватар для Marsik
 
Регистрация: 23.10.2007
Сообщений: 275
По умолчанию Ластик для имиджа image1

Здравствуйте.Есть вопросик относительно имиджа(image).На формне есть 2 имиджа:имидж1 и имидж2.Надо как-то сделать инструмент,который бы стирал имидж1(как в любимом фотошопе).Можете помочь?Есть еще одно,нужно чтобы была отмена,но это мне точно не подсилу ,а вам?
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
Marsik вне форума Ответить с цитированием
Старый 28.12.2007, 17:57   #2
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Стирать имидж, т.е. очистить его полностью или какую-то часть?
Jeni вне форума Ответить с цитированием
Старый 28.12.2007, 18:00   #3
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Ластик мне преставляется как:
1. Окружность.
2. Цвет заливки окружности равен цвету фона.
3. А теперь всё это к курсору привяжем.

Отмена действий:
1. В обработчике нажатия кнопки мыши (до активизации ластика) сохраним куданибудь картинку.
2. Жмякаем кнопку "отменить изменения" -> загружаем сохранённый рисунок обратно.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 29.12.2007, 07:25   #4
Marsik
Форумчанин
 
Аватар для Marsik
 
Регистрация: 23.10.2007
Сообщений: 275
По умолчанию

Я так и представлял.,но как привязать?Кстати отмена должна действовать тогда например когда в первый раз правильно стерли,второй раз тоже,а вот в третий немного скосили и тогда то нажимаешь отмена.В принципе можно после каждого стирания сохранять рисунок.Опять таки программно как реализовать?
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
Marsik вне форума Ответить с цитированием
Старый 29.12.2007, 12:57   #5
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Сохранение рисунка делается при отпускании кнопки мыши. Отпустил кнопку - сохранилось. Можно три отмены сделать как в Пэинте, или динамический массив, будет как в Фотошопе.
Рисунки сохраняй в array of TBitmap
не забывай память очищать, а то фотошоп переплюнешь =)

По поводу привязки к курсору, помнишь я тебе давал код перетаскивания имиджа? Вот там как раз это и делается.

p.s. Вывод: либо ты ленивый и любишь чтобы все за тебя делали, либо уровня твоих знаний недостаточно чтобы понять код того что ты просишь. Если второе - начинай с чего-то попроще, и постепенно научишься.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 29.12.2007 в 13:01.
mutabor вне форума Ответить с цитированием
Старый 29.12.2007, 13:58   #6
Marsik
Форумчанин
 
Аватар для Marsik
 
Регистрация: 23.10.2007
Сообщений: 275
По умолчанию

Не то и не другое...хотя...=).Вот что я хотел узнать:где читать про динамические массивы,и главное какие функции и процедуры отвечает за создание инстр.ластика?
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
Marsik вне форума Ответить с цитированием
Старый 29.12.2007, 14:50   #7
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Я тут набросал немного деревенский способ...

Код:
var
  Form1: TForm1;
  OP : TOpenPictureDialog;
  Pic : TBitmap;

implementation

{$R *.dfm}

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
Form1.Close;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
OP.Execute;
Image1.Picture.LoadFromFile (OP.FileName);
OP.Free;
end;

procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var k, i: integer;
begin
Image2.Picture := Image1.Picture;
Image1.Canvas.Ellipse(x - 10, y - 10, x + 10, y + 10);
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Image1.Picture := Image2.Picture;
end;

end.
Кстати кто знает что ме сделать если я вставил цикл и у меня програма зависла, я её(запущенный exe) замочил через диспечер... и больше немогу никак обратно его запускать. Тобишь открываю сохраннёный проект и его нельзя перекомпилить (негорит зелёная стрелочка)
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 29.12.2007, 16:56   #8
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Сообщение от Карась Посмотреть сообщение
Кстати кто знает что ме сделать если я вставил цикл и у меня програма зависла, я её(запущенный exe) замочил через диспечер... и больше немогу никак обратно его запускать. Тобишь открываю сохраннёный проект и его нельзя перекомпилить (негорит зелёная стрелочка)
А почему ты из отладчика ее не грохнул (Run > Program Reset)?
Что дельфи тоже зависла и ты ее тоже из диспетчера убил вместе со своей прогой? Тогда понятно почему проект нерабочим стал.
Возьми файлы со значком ~ и поубирай этот значок, перед этим удали (лучше скинь куда-то) файлы проекта с теми же именами но без этого значка, правда потеряешь последние изменения. И запусти Дельфи. Если не сработает, то придется из исходника новый проект делать.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 29.12.2007, 17:07   #9
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Сообщение от Marsik Посмотреть сообщение
Не то и не другое...хотя...=).Вот что я хотел узнать:где читать про динамические массивы,и главное какие функции и процедуры отвечает за создание инстр.ластика?
Например функция Ellipse отвечает, или Rectangle 8)

Подумай сам что ты спросил. Дельфи по твоему что, конструктор для графических редакторов?
А где почитать про массивы это очень сложный вопрос, может в книге?
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 29.12.2007, 17:49   #10
Marsik
Форумчанин
 
Аватар для Marsik
 
Регистрация: 23.10.2007
Сообщений: 275
По умолчанию

Что в книге понятно,но вот в какой?Вездесущий гугль какие-то всегда глупости, не по запросу выдает!А насчет ластика ладно,сам разберусь!
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
Marsik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ластик как в Paint Николая Ленин C# (си шарп) 2 29.03.2015 17:31
ластик(графический редактор) AndersonEgo C# (си шарп) 1 29.05.2011 16:51
image1.Refresh;image1.Repaint; Symba Общие вопросы Delphi 5 24.04.2011 03:53
Растягивание имиджа! Marsik Помощь студентам 20 07.11.2007 18:56