0 / 0 / 0
Регистрация: 22.08.2012
Сообщений: 7
|
||||||
1 | ||||||
ScanLine работает некорректно22.08.2012, 16:59. Показов 3155. Ответов 24
Метки нет (Все метки)
Здравсвтуйте, вот такая функция:
http://s10.postimage.org/3p2dg1n1h/scanline.png А должно быть вот такое (вывод через пиксели): http://s10.postimage.org/3nsfmml7p/pixels.png Я так понимаю какая-то ошибка в типах, из-за чего происходит неправильный сдвиг. Но где? Спасибо.
0
|
22.08.2012, 16:59 | |
Ответы с готовыми решениями:
24
ScanLine - свойство класса TBitmap->scanline[] Flood Fill Scanline Stack - не работает Scanline в делфи, я не понимаю как она работает Быстрее scanline, или почему SetBitmapBits работает "ИНОГДА" |
22.08.2012, 17:18 | 2 |
А что делает этот код? Картинку как-то модифицирует?
Добавлено через 4 минуты понял, смутил эта строка: чисто для взятия размеров нужна. ofx Я попробовал, у меня норм. Может что-то с драйверами?
0
|
0 / 0 / 0
Регистрация: 22.08.2012
Сообщений: 7
|
|
22.08.2012, 18:02 [ТС] | 4 |
Да вроде нормально все с драйверами, работают.
Я создал заново проект, так он работает только при загрузке картинки из файла. Если этого не сделать, то ничего не происходит. Так после загрузки картинки, выдает некорректное изображение только по-другому. Вы бы не могли выложить код, который работает у вас? Добавлено через 1 минуту Это с кодом RGB(x,0,0) ?
0
|
22.08.2012, 18:03 | 5 | |||||
Залейте канву перед работой
1
|
0 / 0 / 0
Регистрация: 22.08.2012
Сообщений: 7
|
|
22.08.2012, 18:17 [ТС] | 6 |
Щас попробую залить, но синяя картинка не может получиться. У меня меняется только красная составляющая, а на вашей картинке - она синяя.
Добавлено через 2 минуты Залил как у Avazart, тоже синяя получилась. Ерунда какая-то.
0
|
0 / 0 / 0
Регистрация: 22.08.2012
Сообщений: 7
|
|||||||||||
22.08.2012, 18:27 [ТС] | 8 | ||||||||||
Результат-то один и тот же.
Вот что я добавил у себя:
Т.е. проблема в том, чтобы правильно установить формат пиксела в картинке. Но почему Билдер ничего не сообщает о некорректом преобразовании - непонятно. я еще добавил вот что:
0
|
22.08.2012, 18:34 | 9 | ||||||||||
Ну а что такое D ? И вообще непрозрачная конструкция
Но проблема в том что ScanLine не возвращает TColor*
1
|
0 / 0 / 0
Регистрация: 22.08.2012
Сообщений: 7
|
|
22.08.2012, 18:37 [ТС] | 10 |
Так D - это какая-нибудь величина. Вообщем-то не важно. Просто двумерное поле значений.
Плюс в "Конструкции" идет проверка на деление на ноль. Вот как-бы так. Я поэксперементировал с форматами пикселов (enum TPixelFormat {pfDevice, pf1bit, pf4bit, pf8bit, pf15bit, pf16bit, pf24bit, pf32bit, pfCustom}; ), корректной (красной) картинки так и не получил. Подозреваю что RGB как-то не так работает.
0
|
0 / 0 / 0
Регистрация: 22.08.2012
Сообщений: 7
|
|||||||||||
22.08.2012, 18:51 [ТС] | 14 | ||||||||||
Я взял за основу пример из справки, там написано вот что:
Целиком пример:
0
|
22.08.2012, 18:52 | 15 | |||||
На скорую руку так...
0
|
22.08.2012, 20:08 | 20 |
понятно, плохо читал,
а как ту получить, которая первая?
0
|
22.08.2012, 20:08 | |
22.08.2012, 20:08 | |
Помогаю со студенческими работами здесь
20
Scanline ScanLine Некорректно работает Do while работает некорректно Некорректно работает if Работа со scanline Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |