Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Программирование > Delphi

Уважаемые пользователи nowa.cc. Мы работаем для вас более 20 лет и сейчас вынуждены просить о финансовой помощи по оплате за сервер.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: Z021474945171 Webmoney WME: E159284508897 Webmoney WMUSDT: T206853643180
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!

Ответ
 
Опции темы Опции просмотра Language
Старый 11.04.2008, 12:11   #1
Неактивный пользователь
 
Пол:Мужской
Регистрация: 24.08.2006
Сообщений: 31
Репутация: 6
По умолчанию Использование CopyRect()

Здравствуйте! Возникла такая проблема.
Имею картинку 500*500 необходимо скопировать часть картинки 20*20
проблема в том что если участок копирование находится скажем в правом верхнем углу...
то задав размер битмапа куда будем копировать 20*20 мы попросту не увидим картинку а увидим если только зададим размер битмапа 500*20

Помогите плизз разобраться
Вот пример исходника
Код:
 bit := TBitmap.Create;
  bit.Width := 20;
  bit.Height := 20;


  bit.Canvas.CopyRect(Bounds(a, b, c, d), Image1.Picture.Bitmap.Canvas, Bounds(a, b, c, d));
  bit.SaveToFile(ExtractFilePath(Application.ExeName) + '1.bmp');
  Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + '1.bmp');
__________________
Бог два раза в жизни дает человеку бесплатные зубы... в третий раз за них предется платить... :4:

Последний раз редактировалось Dr Evil; 11.04.2008 в 12:13..
Dr Evil вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама:


Старый 11.04.2008, 16:18   #2
Dr Evil
Неактивный пользователь
 
Пол:Мужской
Регистрация: 24.08.2006
Сообщений: 31
Репутация: 6
По умолчанию Ответ: Использование CopyRect()

Всем спасибо кто пытался и кто не пытался помочь - проблему решил самостоятельно - зашарил

PS Тему можно закрывать
__________________
Бог два раза в жизни дает человеку бесплатные зубы... в третий раз за них предется платить... :4:
Dr Evil вне форума
 
Ответить с цитированием Вверх
Старый 11.04.2008, 16:40   #3
irkyt
Пользователь
 
Аватар для irkyt
 
Пол:Мужской
Регистрация: 25.11.2006
Адрес: Архангельск
Сообщений: 118
Репутация: 39
По умолчанию Ответ: Использование CopyRect()

Написал бы тогда что исправил) И как разобрался)
__________________
Хочу машину, дачу и бабу в придачу.
irkyt вне форума
 
Ответить с цитированием Вверх
Старый 11.04.2008, 19:17   #4
Dr Evil
Неактивный пользователь
 
Пол:Мужской
Регистрация: 24.08.2006
Сообщений: 31
Репутация: 6
По умолчанию Ответ: Использование CopyRect()

Цитата:
Сообщение от irkyt Посмотреть сообщение
Написал бы тогда что исправил) И как разобрался)

Вот рабочий кусок кода
Код:
procedure TForm1.Button2Click(Sender: TObject);
var
  q, w: TRect;
  left_, top_, right_, bottom_: Integer;
  bit: TBitmap;
begin

  left_ := StrToInt(Edit1.Text);
  top_ := StrToInt(Edit2.Text);
  right_ := StrToInt(Edit3.Text);
  bottom_ := StrToInt(Edit4.Text);

  bit := TBitmap.Create;
  bit.Width := right_ - left_;
  bit.Height := bottom_ - top_;

  q := Rect(left_, top_, right_, bottom_);
  w := Rect(0, 0, right_ - left_, bottom_ - top_);

//перепутал местами w и q, а также сразу не понял что left и top для w должны быть = 0 

  bit.Canvas.CopyRect(w, Image1.Picture.Bitmap.Canvas, q);
  bit.SaveToFile(ExtractFilePath(Application.ExeName) + '1.bmp');
  Image2.Picture.LoadFromFile(ExtractFilePath(Application.ExeName) + '1.bmp');

end;
__________________
Бог два раза в жизни дает человеку бесплатные зубы... в третий раз за них предется платить... :4:

Последний раз редактировалось Dr Evil; 11.04.2008 в 19:26..
Dr Evil вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование Ubuntu jackiam UNIX, Linux, MacOs для PC и другие ОС 1 18.02.2010 17:37
Использование корзины в 2х ОС: 98 и XP AVN Microsoft Windows 4 14.12.2009 12:25
Эффективное использование ОЗУ Yuric78 Обсуждение программ 15 21.07.2008 12:58
Безопасное использование ICQ Helenka Скорая помощь 17 06.05.2008 15:20
использование Wi-Fi и LAN одновременно serg1833 Скорая помощь 6 23.04.2008 23:12

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:51. Часовой пояс GMT +3.


Copyright ©2004 - 2025 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.04081 секунды с 13 запросами