Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: CL | DM;

Вниз

Маштаб TBitMap   Найти похожие ветки 

 
Алексей Петухов   (2004-05-19 08:52) [0]

Здравствуйте, уважаемые мастера.

//Допустим есть
Image:TImage;
//и
Image.autosize:=false;
Image.stretch:=true;
Image.width:=20;
Image.height:=20;
//Загружаем туда большую картинку (40х40)
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
//видим что она смаштабировалась.
Как-же мне теперь получить эту картинку (именно смаштабированную)

Ну к примеру в BitMap размерами 20х20?

Заранее благодарю за помощь.


 
Gero ©   (2004-05-19 08:54) [1]

Bitmap20x20.Canvas.CopyRect(Rect(1, 1, 20, 20), Image.Canvas, Rect(1, 1, 20, 20));


 
Алексей Петухов   (2004-05-19 19:35) [2]

Попробовал, не получается, вот к примеру:

Image1 (96х96) нормальная
Image2 (16х16) уменьшенная
Image3 (16х16) уменьшенная – в итоге должна выглядеть как Image2, а выглядит как часть image1.

Image1.stretch:=true;
Image2.stretch:=true;
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
Image2.Picture.Bitmap.Assign(Image1.Picture.Bitmap);
Image3.Canvas.CopyRect(Rect(0, 0, 16, 16),Image2.Canvas, Rect(0, 0, 16, 16));

Как поправить ситуацию?


 
Алексей Петухов   (2004-05-20 06:11) [3]

Есть идеи?


 
TUser ©   (2004-05-20 06:55) [4]


>
> Image1 (96х96) нормальная
> Image2 (16х16) уменьшенная
> Image3 (16х16) уменьшенная – в итоге должна выглядеть как
> Image2, а выглядит как часть image1.
>
> Image1.stretch:=true;
> Image2.stretch:=true;
> Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
> Image2.Picture.Bitmap.Assign(Image1.Picture.Bitmap);
> Image3.Canvas.CopyRect(Rect(0, 0, 16, 16),Image2.Canvas,
> Rect(0, 0, 16, 16));
> Как поправить ситуацию?

В Image2 ты сассигнил Image1. Т.е. весь битмап, размера 96. Ну и что, что ты его масштабируешь при прорисовке на экране, в нем все равно 96 точек. Соотв. CopyRect копирует часть этой картинки. Используй при копировании ClientRect.


 
Алексей Петухов   (2004-05-20 12:43) [5]

Спасибо, попробую



Страницы: 1 вся ветка

Текущий архив: 2004.05.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.025 c
3-1083330901
Narayan
2004-04-30 17:15
2004.05.30
случайным образом


4-1082457137
Alexandr_N
2004-04-20 14:32
2004.05.30
Время


8-1079717600
Beginner1
2004-03-19 20:33
2004.05.30
Как можно разбить картинку?


4-1082444024
Iraizor
2004-04-20 10:53
2004.05.30
Активная форма и мигание =)


3-1083831446
Manfred8
2004-05-06 12:17
2004.05.30
Блокировки Ado и Access