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

Вниз

Кладову о TBitmap   Найти похожие ветки 

 
miek   (2003-07-10 20:11) [0]

Нельзя ли открыть доступ на чтение к полю TBitmap.fScanLineDelta? Неудобно ведь каждый раз вычитать ScanLine[1]-ScanLine[0].


 
Snap ©   (2003-07-10 20:35) [1]

а сурсов тбитмапа нету чтоль? не, я не уверен что они эсть, просто может ты не проверил?


 
Кладов   (2003-07-10 21:08) [2]

fScanLineDelta внутреннее свойство, устанавливается только при обращении к DIBPixels[ ], так что открывать было бы и неправильно. И что неудобного вычесть ScanLine[1]-ScanLine[0] ? Что такое каждый раз, есть же переменные. Присвойте переменной, и внутри цикла используйте.


 
miek   (2003-07-11 16:58) [3]

K> И что неудобного вычесть ScanLine[1]-ScanLine[0]

Ничего неудобного, пока речь не идет о достижении высокой скорости.
А вычитание съедает 50-80 тактов - за это время можно целую строку обработать.


K> Что такое каждый раз, есть же переменные

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

P.S. fScanLine0 тоже поможет делу.


 
Кладов   (2003-07-11 20:30) [4]

Какая потеря в скорости, что вы говорите? Если разница уже вычислена, и запомнена в переменной, то никакой потери быть не может внутри цикла обработки.

Желающие могут объявить у себя объект, унаследованный от TBitmap, и обращаться к любым protected полям просто приводя объект PBitmap к типу PMyBitmap. Но это уже не мое дело, и никакой гарантии, что поля эти будут такими, каким надо, нет.


 
miek   (2003-07-11 20:50) [5]

K>никакой потери быть не может внутри цикла обработки

Внутри нет. Но процедура-то не из одного только цикла состоит!

K> к любым protected полям просто приводя объект PBitmap к типу PMyBitmap

Я так бы и сделал, но они не protected, а private.


 
SPeller ©   (2003-07-12 03:16) [6]

Многие, кстати, объекты с private-полями, из-за чего нормального неследника не напишешь. TStrListEx например. Мне приходилось полностью его код из kol.pas выдирать только для того, чтобы сделать совсем мало-мальскую модификацию.


 
Кладов   (2003-07-12 08:52) [7]

Я сейчас прошелся по всем объектам, и записал protected сразу после слова private. Когда-то я такое проделывал, но Delphi все время норовит при использовании Code Completion добавить именно private. Так что в версии 1.80 уже будет.


 
miek   (2003-07-12 18:37) [8]

О! Это правильно. Спасибо.

Насчет Code Completion - надо попробовать, не обманется ли он обычныи вашим трюком - нужную строку поставить в комментариях.



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

Текущий архив: 2004.03.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.036 c
3-1077798220
Dron
2004-02-26 15:23
2004.03.28
Interbase: как создать представление(вид) из хр. процедуры?


1-1079003717
3asys
2004-03-11 14:15
2004.03.28
Определение компонента, над которым находится курсор мыши.


14-1078234981
Lena19
2004-03-02 16:43
2004.03.28
LG7020 +ASUS a620 = GPRS ??????


1-1078647630
bjohny
2004-03-07 11:20
2004.03.28
Утечка памяти


4-1074001403
_echo
2004-01-13 16:43
2004.03.28
FindNextFileA