Рейтинг:
1
Jochen Arndt
GetPixel()
возвращает Цветовая Структура (Система.Рисование)[^]. При изображениях в серой шкале все компоненты RGB будут иметь одинаковое значение. Так что используйте один из R
, G
, и B
свойства для получения интенсивности. Возвращаемое значение-это a byte
где 0 - черный, а 255-белый.
Member 13623647
- Вот именно.
например: один из моих выходных данных в textbox1-это "color [A=255,R=85,G=85,B=85]".
когда я использую этот код :
"элемент textbox1.Текст = колонка.Р.Метод toString();"
Я получаю номер 85.
Но мой вопрос совсем в другом.
Я говорю, что когда я использую приведенный выше код для чтения значения пикселя getpixel() не работает точно.
Например, в какой-то белой области выше кода дайте мне номер 1(связанный с черным), а в какой-то черной области дайте мне 150 или больше.
Спасибо за Ваш вклад .
вы можете решить мою проблему?
F-ES Sitecore
Это может быть как-то связано с образом, который вы используете. Создайте новый образ, который, как вы знаете, является чисто белым или чисто черным, и поэкспериментируйте с ним.
Jochen Arndt
Извини, что я проглядел DotSpatial.
Но откуда вы знаете, что это неправильно?
Вы открыли файл в растровом редакторе и проверили пиксель в том же положении? Я бы предположил, что вы получите то же самое значение.
Даже области, обнаруженные как "белые", могут содержать некоторые темные пиксели и наоборот.
Member 13623647
Я проверяю это изображение в Qgis, и для местоположений, которые я даю низкое число в своем коде, Qgis дает пропорциональное и логическое значение его цвета.Я думаю, что проблема в моем коде. У тебя есть какие-нибудь идеи ?
Jochen Arndt
Извините, я понятия не имею и не знаю QGis.
Но все, что у вас есть-это растровый файл. Это сохраняет пиксели как [A]RGB line wise, и вы получаете цвет в определенной точке. Это будет то же самое, когда вы откроете файл с помощью растрового редактора, такого как MS Paint, и проверите в той же позиции (ваши линейные и пиксельные переменные).
Если результат не соответствует ожиданиям, он может быть получен в другом месте вашего кода (возможно, в других методах класса mapMain) или в преобразовании PixelToProj ().