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

Вниз

Ещё один вопрос про 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.045 c
1-1088149552
Maks Realov
2004-06-25 11:45
2004.07.11
Ещё один вопрос про ScanLine


3-1087448421
Yura
2004-06-17 09:00
2004.07.11
Проблема с полем выбора?


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


4-1085841680
IraiZor
2004-05-29 18:41
2004.07.11
Отловка Создания Файла


1-1088545291
001
2004-06-30 01:41
2004.07.11
Как получить код символа в строчке?