Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизПлощадь заливки чернилами Найти похожие ветки
← →
PiramidaHeiopz (2012-03-11 21:03) [0]Есть файл чб битмап со сложной заливкой (графика).Макс 8000х8000
печатается разными размерами.Хочется алгоритм высчета заполняемости.
К примеру печатаю 10х10см, высчет заполняемости - 3см2.
Какой алгоритм?
Узнать заполняемость.в фотошопе не знаю, писать свою прогу сколько пикселей черные от всех белых? узнаем процент, далее узнаем площадь печати 10х10=100см2 подводим проценты и узнаем сколько было залито чернилами.
Собственно и вопрос, как подсчитать сколько черных пикселей в битмапе...
← →
Jeer © (2012-03-11 21:12) [1]Ага, когда работал в фирме (1998 г) - "написал" прогу по расчету расхода "чернил" ( там были разные варианты по девайсам и по площади и виду "чернил").
В итоге фирма стала экономить на расходниках до 30%.
5% отдали мне - 500 бакинских в месяц.
"Пробуйте, непременно пробуйте" (С).
← →
MBo © (2012-03-11 21:13) [2]>как подсчитать сколько черных пикселей в битмапе
Медленно (для одноразовой задачи сгодится) - через Pixels, быстро - через Scanline
← →
alexdn © (2012-03-11 21:14) [3]Да, кстати интересно, сам думал задать подобный вопрос, т.е. можно ли узнать сколько заливается пикселей при заливке ограниченной области?
← →
Jeer © (2012-03-11 21:18) [4]
> т.е. можно ли узнать сколько заливается пикселей при заливке
> ограниченной области?
Вопрос задан тех-неграмотно, перефразируй.
← →
Anatoly Podgoretsky © (2012-03-11 21:20) [5]> alexdn (11.03.2012 21:14:03) [3]
Для 10х10 никак, а вот для конкретной канвы запросто.
← →
alexdn © (2012-03-11 21:30) [6]> Anatoly Podgoretsky © (11.03.12 21:20) [5]
ну вот есть функция canvas.FloodFill, как узнать сколько пикселей она зальёт..?
← →
Игорь Шевченко © (2012-03-11 21:37) [7]GetRegionData
← →
PiramidaHeiopz (2012-03-11 21:47) [8]алгоритм то понятный, хотелось бы знать есть уже готовое, чем свое писать,
c нуля,
простейшее -
for x:=0 to xx...
for y:=0 to yy.canvas.
pixelz:=Pic.
if pixelz=0 then {black} inc(BlackCrash);
end;
end;
неужели фотошопе нет такой функции???
← →
PiramidaHeiopz (2012-03-11 21:51) [9]функция нужна раз 10 в месяц
можно самому написать, только вопрос стандартный всл компонент
поддерживает 8000х8000 точек и
RGB (там только чб, файлы 60-100мб) и Grayscale ?
Делфи сейчас просто не установлен...
← →
PiramidaHeiopz (2012-03-12 17:37) [10]всем спасибо, скачал делфи3, и написал!
быстро и с округлениями в виде DIV
пример работы, отчет проги
файл, заданная ширина 12см
All pixelz: 14506560
Wid Õ heigh: 3942x3680
Pixelz inked: 2687943
Inked: 18%
Height calc: 11
Print ploshad: 132sm.
Ploshad inked: 23sm.
заданная ширина 20 см
All pixelz: 57424000
Wid Õ heigh: 7760x7400
Pixelz inked: 6384577
Inked: 11%
Height calc: 19
Print ploshad: 380sm.
Ploshad inked: 41sm.
← →
QAZ (2012-03-12 18:04) [11]
> скачал делфи3, и написал!
мегареспект бро
если ты (вдруг) решил считать расход чернил,то в наше время это непроканает,ибо расход зависит исключительно от режима печати принтера
← →
alexdn © (2012-03-12 18:39) [12]> Игорь Шевченко © (11.03.12 21:37) [7]
> GetRegionData
глянул в инете и понял что вроде бы одной строкой не обойдёшься..
← →
Димка На (2012-03-12 20:11) [13]Способ для фотошопа:
1. Открываем ЧБ картинку
2. Filter-Blur-Average
3. Нажимаем на Foreground Color (выбор основного цвета слева снизу)
4. Кликаем по картинке в любом месте
5. В поле "B" в HSB смотрим процент заполнения :)
← →
Димка На (2012-03-12 20:12) [14]Он равен 100% - B
← →
PiramidaHeiopz (2012-03-12 21:03) [15]QAZ
только в качестве ориентира "на сколько разные картинки жрут чернила",
а вернее абстрактное математическое сравнение нескольких картинок
Димка На
смысл в выделенной точке?
Нужно сумму всех пикселей
← →
Дмитрий С © (2012-03-13 10:50) [16]
> Нужно сумму всех пикселей
Вот она:
((100 - B) * 8000 * 8000) / 100
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.055 c