|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.04.2008, 14:06 | #1 |
Форумчанин
Регистрация: 05.04.2008
Сообщений: 244
|
Как наложить иконку с исходным размером 16х16 на битмап с размером 32х32?
Добрый день!
Хочу наложить иконку с исходным размером 16х16 на битмап с размером 32х32 в списоке картинок ImageList1. Но не могу изменить размер иконки, потому что рисуется исонка с размерами 32х32, а мне нужно 16х16. ico.SetSize(16, 13) - не помогает. Размер иконки 32х32, хотя исходный 16х16. Пример ниде: procedure TForm1.FormCreate(Sender: TObject); var bmp : TBitmap; ico : TIcon; Filename : String; begin Filename := 'C:\путь к иконке\icon_16x16.ico'; bmp := TBitmap.Create; bmp.PixelFormat := pf24bit; ico := TIcon.Create; ico.SetSize(16, 16); ico.LoadFromFile(Filename); try ImageList1.GetBitmap(1, bmp); bmp.Canvas.Draw(bmp.Width - ico.Width, bmp.Height - ico.Height, ico); ImageList1.Replace(1, bmp, bmp); finally ico.Free; bmp.Free; end; end; Иконка должна рисоваться в нижнеправом углу битмапа, а рисуется сейчас в левом верхнем. Подскажите что здесь не так? Всем спасибо! |
26.04.2008, 14:44 | #2 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Код:
Код:
Код:
0, 0, 16, 16 - координаты прямоугольника на bmp откуда брать. В принципе можно обойтись даже без StretchDraw если загружать 16х16 Последний раз редактировалось eoln; 26.04.2008 в 15:01. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Плеер размером в 3Кб (1654 байт пожатый) | JTG | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 28 | 20.10.2012 11:07 |
Извлечь иконку из EXE? | Алексей_C | Общие вопросы Delphi | 22 | 27.12.2008 23:34 |
Проблема с размером :) | Exel_Wild | Microsoft Office Excel | 5 | 14.04.2008 12:47 |
Как нарисовать на КАНВАС-е БИТМАП. | Altera | Общие вопросы Delphi | 3 | 09.03.2008 15:41 |