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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.06.2011, 03:40   #1
pavellyba
Пользователь
 
Регистрация: 01.12.2010
Сообщений: 84
Вопрос Как нарисовать кусок изображения на элементе TImage

Как нарисовать кусок изображения на элементе TImage?
Я нашел ответ. Вот код, думаю кому нибудь да пригодится)
Код:
procedure Tform1.Obnova();
var I, x, y:integer;
tempP: TBitmap;
begin
tempP := TBitmap.Create;
tempP.LoadFromFile(ExtractFileDir(ParamStr(0))+'\1.bmp');
tempP.Transparent := True;
for i := 1 to 16 do begin
Pazl[i].left:= ((16-i) mod 4)*48+10;
Pazl[i].top:= ((16-i) div 4)*48+28;
if i>1 then begin
x:=((16-i) mod 4)*48;
y:=((16-i) div 4)*48;
Pazl[i].Canvas.Draw(-x,-y,tempP);
end;
end;
end;

Последний раз редактировалось pavellyba; 19.06.2011 в 05:21. Причина: Я нашел ответ.
pavellyba вне форума Ответить с цитированием
Старый 19.06.2011, 10:57   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
кусок изображения на элементе TImage?
А что CopyRect или BitBLT уже отменили?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.06.2011, 08:17   #3
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Цитата:
Сообщение от pavellyba Посмотреть сообщение
Как нарисовать кусок изображения на элементе TImage?
Я нашел ответ. Вот код, думаю кому нибудь да пригодится)
Код:
procedure Tform1.Obnova();
var I, x, y:integer;
tempP: TBitmap;
begin
tempP := TBitmap.Create;
tempP.LoadFromFile(ExtractFileDir(ParamStr(0))+'\1.bmp');
tempP.Transparent := True;
for i := 1 to 16 do begin
Pazl[i].left:= ((16-i) mod 4)*48+10;
Pazl[i].top:= ((16-i) div 4)*48+28;
if i>1 then begin
x:=((16-i) mod 4)*48;
y:=((16-i) div 4)*48;
Pazl[i].Canvas.Draw(-x,-y,tempP);
end;
end;
end;
В наборе кмпонентов Rxlib есть компонент TPicClip грузите в него картинку и в св-ах укажите на сколько квадратиков разбить, потом подгружаете любой квадрат (как ячейки стринггрида [i,j])
SERG1980 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка GIF изображения в TImage из TMemoryStream Crystallon Общие вопросы Delphi 0 28.12.2010 12:16
Сохранение части изображения из TImage в файл *.bmp ImmortalAlexSan Общие вопросы Delphi 15 02.08.2010 13:00
Загрузка изображения для создаваемого TImage LynxRufus Общие вопросы Delphi 3 20.01.2010 08:07
Сохранение загруженного в TImage изображения в папку с программой Torymo Помощь студентам 1 06.02.2009 03:41
checkListBox1.OnMouseDown не работет при выделенном элементе. Как исправить? Izhic Компоненты Delphi 4 28.10.2008 17:41