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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2007, 11:25   #1
Marsik
Форумчанин
 
Аватар для Marsik
 
Регистрация: 23.10.2007
Сообщений: 275
По умолчанию Сохранение области формы

Здравствуйте!Помогите пожалуйста с вопросом:
У меня есть форма,а на ней два имиджа,причем так что один из них сверху другого!И мне нужно сохранить получившийся рисунок.Если есть какие-то идеи,то помогите,пожалуйста!
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
Marsik вне форума Ответить с цитированием
Старый 12.11.2007, 11:55   #2
Barahlush
 
Регистрация: 08.10.2007
Сообщений: 3
По умолчанию

Попробуй сделать так, запускаешь форму, нажимаешь Print Screen, потом запускаешь Paint нажимаешь Сtrl+V и у тебя получается снимок твоего окна, потом открываешь какой ни будь графический редактор и вырезаешь все, что тебе нужно!
Barahlush вне форума Ответить с цитированием
Старый 12.11.2007, 17:15   #3
bill
Форумчанин
 
Аватар для bill
 
Регистрация: 26.04.2007
Сообщений: 440
По умолчанию

А почему бы не поместить эти image-ы на panel(при этом свободного места там нет,т.е. размещаешь их по левому краю и поверху повозможности). Если размеры одинаковые, то просто сохраняешь весь канвас панели, если нет, то нужен цикл, который отщепляет пиксели изображений-помещает их на новую канву в соответствии с их позицией.
Если что не понятно спрашивай.
bill вне форума Ответить с цитированием
Старый 12.11.2007, 17:46   #4
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Подкорректируй немного код, я на скорую руку делал, и в сохранённом файле есть лишнее.
Код:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
bit:Tbitmap;
r:Trect;
begin
bit:=TBitmap.Create;
bit.Width:=form1.Width;
bit.Height:=form1.Height;
r.Left:=0;
r.Top:=0;
r.Right:=form1.Width;
r.Bottom:=form1.Height;
bit.Canvas.CopyRect(r,form1.canvas,r);
bit.SaveToFile('C:\111.bmp');
bit.Free;
end;
zetrix вне форума Ответить с цитированием
Старый 12.11.2007, 18:53   #5
Marsik
Форумчанин
 
Аватар для Marsik
 
Регистрация: 23.10.2007
Сообщений: 275
По умолчанию

Да...сфоткали мне форму!Но мне ведь нужно чтобы сохранялись только имиджы(причем один имидж сверху другога),а не всю форму!!! А это можно сделать?
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
Marsik вне форума Ответить с цитированием
Старый 12.11.2007, 19:03   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Marsik Посмотреть сообщение
Да...сфоткали мне форму!Но мне ведь нужно чтобы сохранялись только имиджы(причем один имидж сверху другога),а не всю форму!!! А это можно сделать?
Зетрикс и сказал - подкорректируй.
А подкорректировать нужно параметры TRect.
Может, пора начинать самостоятельно мыслить, а не сидеть, как птенец, с вечно открытым клювом?
mihali4 вне форума Ответить с цитированием
Старый 13.11.2007, 06:57   #7
Marsik
Форумчанин
 
Аватар для Marsik
 
Регистрация: 23.10.2007
Сообщений: 275
По умолчанию

Да Михалыч...Мстительный вы человек :-( .Чем ругать,лучше литературу хорошую посоветай плиз!
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
Marsik вне форума Ответить с цитированием
Старый 13.11.2007, 07:37   #8
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Литературу? Пожалуйста - смотрите подпись мою.

Вам надо корректировать вот эти строчки:

bit.Width:=form1.Width; //ширина будущей картинки
bit.Height:=form1.Height; // выстота будущей картинки

// левая верхняя точка скриншота
r.Left:=0;
r.Top:=0;

//правая нижняя точка скриншота
r.Right:=form1.Width;
r.Bottom:=form1.Height;

Все значения Вы можете узнать, зная параметры имэйджев. (left, top, width, height)
Нарисуйте на бумажке, чтоб нагляднее было, и всё поймёте.
zetrix вне форума Ответить с цитированием
Старый 13.11.2007, 19:51   #9
Marsik
Форумчанин
 
Аватар для Marsik
 
Регистрация: 23.10.2007
Сообщений: 275
По умолчанию

Зетрикс,извини за глупейший вопрос:как найти right и bottom?Как я понял чтобы right найти нужно из width формы отнять лефт и width имиджа,чтобы боттом аналогично.Но вот загвозда в чем-сохраняет,но совершенно другое место!Почему?
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
Marsik вне форума Ответить с цитированием
Старый 13.11.2007, 20:44   #10
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Наоборот:
Right:=Left+Width;
Bottom:=Top+Height;
Все параметры - соответствующие для искомого TImage.
mihali4 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение и печать формы Технолог Компоненты Delphi 1 17.05.2008 14:42
отсечение области окна нестандартной формы Makcydrl Win Api 3 07.05.2008 01:36
Сохранение формы Veiron Общие вопросы Delphi 7 12.01.2008 00:11
Карта области Dmitriy77 Общие вопросы Delphi 0 23.10.2007 18:46
ЭБС Тюменской области dron-s Софт 3 21.03.2007 22:31