Главная страница
    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.043 c
1-1084630778
festu
2004-05-15 18:19
2004.05.30
как узнать, открыта форма или нет?


6-1081777335
Ivolg
2004-04-12 17:42
2004.05.30
FTP


3-1084115949
Cerera
2004-05-09 19:19
2004.05.30
Помогите с базой данных!!!


7-1083218538
Aplay
2004-04-29 10:02
2004.05.30
Из одного типа в друго


7-1082450954
MeF88
2004-04-20 12:49
2004.05.30
О размерах памяти консольных приложений





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский