Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.026 c
10-1019029082
s_alexander
2002-04-17 11:37
2004.07.11
Как сделать соединение с сервером приложений из внешней сети?


1-1088247574
Lexa
2004-06-26 14:59
2004.07.11
Подскажите плиз как добавить приложение в автозапуск.


3-1087306890
Piter
2004-06-15 17:41
2004.07.11
Выбор уникальных полей


1-1088076832
JIurafdsfsdt
2004-06-24 15:33
2004.07.11
В какой тип данных сохранить содержимое RichEdit часть 2


3-1087446671
r9000
2004-06-17 08:31
2004.07.11
Определение номера колонки редактируемой таблицы.




   Наверх