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

Вниз

Ещё один вопрос про ScanLine   Найти похожие ветки 

 
Maks Realov   (2004-06-25 11:45) [0]

Ведь функция ScanLine применима только к объекту класса TBitmap, который должен содержать какую-то предварительно в него загруженную картинку. Проблема в том, что мне надо в run-time масштабировать контрол, на котором я отрисовываю свою графику. Как быть? Размеры-то у картинки, загруженной в TBitmap фиксированные.
Спасибо.


 
Maks Realov   (2004-06-25 11:46) [1]

...и туда же: как при отрисовке использовать 32-х битную палитру?


 
TUser ©   (2004-06-25 12:12) [2]

TImage.Stretch


 
Maks Realov   (2004-06-25 12:19) [3]

так при Stretch разрешение картики не меняется. Она просто растягивается. А мне надо, что бы при отрисовки графика, к примеру, увеличить одну из осей, что бы была возможность рассматривать больший интервал.


 
Григорьев Антон ©   (2004-06-25 12:25) [4]

Почему фиксированные-то? У TBitmap есть свойства Width, Height - меняйте себе на здоровье. А ещё есть свойство PixelFormat, которое показывает, сколько бит на пиксел приходится.


 
TUser ©   (2004-06-25 12:28) [5]

Т.е. ты хочешь растянуть картинку по горизонтали, а по вертикали ничего не делать? Тогда, надо перерисовывать саму картинку.


 
MBo ©   (2004-06-25 12:29) [6]

1. Непонятно, причем тут Scanline
2. Если нужно без растяжки выводить на контрол кусок битмапа, используй TCanvas.CopyRect, Draw или BitBlt, а для растяжения-сжатия - TCanvas.StretchDraw или StretchBlt
3. 32-х битных палитр не существует. возможно, имеется в виду TBitmap.PixelFormat=pf32Bit?


 
Maks Realov   (2004-06-25 12:33) [7]

Спасибо всем. Думаю ваши советы меня вылечат!


 
Maks Realov   (2004-06-25 13:04) [8]

Получается так, что если я не гружу картинку в BitMap, а делаю просто:

 Brush.Color := clBlack;
 Brush.Style := bsSolid
 Image1.Picture.Bitmap.Canvas.FillRect(Image1.BoundsRect);

То вызыв
Image1.Picture.BitMap.ScanLine[i];
выдаёт ту же ошибку. Что-то я не понимаю.
Грубо говоря - как мне в run-time создать картинку нужных размеров и загрузить её в BitMap моего Image?


 
Григорьев Антон ©   (2004-06-25 13:34) [9]

Для начала забудьте про TImage, создайте TBitmap, сделайте с ним всё, что хотите, а потом TImage.Picture.Bitmap:=... - так будет правильнее.


 
icWasya ©   (2004-06-25 14:34) [10]

просто Борманы немножко перемудрили -
когда первый раз обращаются к TImage.Canvas и Picture = Nil, то создаётся TBitmap размером c Image, и все всегда думают, что напрямую обращаются к Image



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

Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.035 c
6-1084284193
Uber
2004-05-11 18:03
2004.07.11
передача аудио по сети


3-1087292955
Павел
2004-06-15 13:49
2004.07.11
База данных


1-1087753166
Павел
2004-06-20 21:39
2004.07.11
индикатор Db как у Винампа


1-1088449248
Godness
2004-06-28 23:00
2004.07.11
Объеденить ячейки в Excel e


6-1084424609
nkoleda
2004-05-13 09:03
2004.07.11
Вопрос по NMFTP





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