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

Вниз

Площадь заливки чернилами   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.081 c
15-1330763551
Дмитрий
2012-03-03 12:32
2013.03.22
Добавление компонент на форму


2-1338196726
leklerk
2012-05-28 13:18
2013.03.22
Не работает WinExec


15-1329492368
поверфулл
2012-02-17 19:26
2013.03.22
Подскажите путевый учебник по HTML


4-1259049838
Evger
2009-11-24 11:03
2013.03.22
Как определить модальное окно


15-1344946625
tesseract
2012-08-14 16:17
2013.03.22
Сергей Петрович Капица