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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2010, 18:06   #1
Baburek
Форумчанин
 
Аватар для Baburek
 
Регистрация: 12.12.2010
Сообщений: 205
По умолчанию PaintBox и только

Пишу графический редактор на используя компонент PaintBox. Дошел до самых интересных пунктов, которые необходимо выполнить:
1. Открыть/Сохранить картинку. Пишу следующее:
Код:
procedure TForm1.N1Click(Sender: TObject);

var b:tbitmap;
begin
b:=tbitmap.Create;
if dlgOpenPic1.Execute then begin
b.LoadFromFile(dlgOpenPic1.FileName);
paintbox.Canvas.Draw(0,0,b);
end;
end;


procedure TForm1.N2Click(Sender: TObject);
var s:tbitmap;
begin
s:=tbitmap.Create;
if dlg1.Execute then begin
s.SaveToFile(dlg1.FileName);
paintbox.Canvas.Draw(0,0,s);
end;
 end;
end.
Результат: Происходит открытие картинки, но не могу нормально редактировать(сразу же исчезает). То что рисую в PaintBox тоже не сохраняется. Я знаю, что PaintBox лишь отображает "нарисованное" поэтому использую Bitmap где хранится сам рисунок.

2. Копирование/Вставка.
Подскажите каким образом в PaintBox можно скопировать и вставить кусок изображения пожалуйста.
Baburek вне форума Ответить с цитированием
Старый 16.12.2010, 11:26   #2
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Цитата:
То что рисую в PaintBox тоже не сохраняется
А что, собственно, должно сохраняться.
Код:
var s:tbitmap;
begin
s:=tbitmap.Create; //Создали новый bitmap
if dlg1.Execute then begin
s.SaveToFile(dlg1.FileName); //!!! и сохранили эту пустоту в файл
paintbox.Canvas.Draw(0,0,s);
end;
Занеси bitmap в глобальные переменные и работай с ним. Зачем второй раз создавать?

А копировать кусок изображения? Ну, ты же можешь выделить прямоугольник на картинке... Вот и сохрани его в файл.
_SERGEYX_ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Комментарии. Только при пин-коде. Почему работает только 1 пи код? Bushel PHP 1 23.10.2010 18:21
Группы символов, состоящие только из латинских букв, если первая буква группы входит в нее еще только оди Ela Помощь студентам 0 29.04.2010 13:41
Только - только начал работать с БД. Bilargo БД в Delphi 6 11.10.2009 16:15
Одни из jpg файлов реальные JPEG а другие только название. как загрузиь только картинки? AgressiveBehavior Общие вопросы Delphi 1 16.09.2009 09:39
начал учить только-только - нужна ваша помошь vanDJ Помощь студентам 20 18.12.2007 21:53