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

Вниз

Кладову о 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 вся ветка

Форум: "KOL";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.037 c
1-1078349850
reef
2004-03-04 00:37
2004.03.28
Error creating form "Access violation at XXXXX in vcl50.bpl"


7-1072779417
Davey
2003-12-30 13:16
2004.03.28
!!!!!!!!!!!!!!!!!!<NtQuerySystemInformation>!!!!!!!!!!!!!!!


14-1077629077
raymond
2004-02-24 16:24
2004.03.28
Друзья, как мне скопировать копию рабочего стола в буфер?


6-1073904178
Alibaba
2004-01-12 13:42
2004.03.28
Получить email


1-1078936918
Тимохов
2004-03-10 19:41
2004.03.28
TMetafile





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