Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Вниз

Маштаб 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.037 c
1-1084822229
zep
2004-05-17 23:30
2004.05.30
maskedit


6-1081442931
AlexXn
2004-04-08 20:48
2004.05.30
Can t create new socket


4-1081846401
Jack1982
2004-04-13 12:53
2004.05.30
Процессы в Win2k и XP


1-1085043800
finger
2004-05-20 13:03
2004.05.30
Динамическая работа с компнентами


14-1083838330
SiJack
2004-05-06 14:12
2004.05.30
DUnit - не могу врубится как данным сабжем пользоватся





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский