Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.48 MB
Время: 0.076 c
15-1351205756
0x44696D61
2012-10-26 02:55
2013.03.22
поле ввода логина


3-1285160032
yurikon
2010-09-22 16:53
2013.03.22
Событие по смене записи


15-1331584202
Юрий
2012-03-13 00:30
2013.03.22
С днем рождения ! 13 марта 2012 вторник


2-1330947283
Vyacheslav
2012-03-05 15:34
2013.03.22
Две формы: FormStyle=fsStayOnTop.. Form2 всегда выше Form1?


15-1331238602
Юрий
2012-03-09 00:30
2013.03.22
С днем рождения ! 9 марта 2012 пятница





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