Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Штрихкоды: DataMatrix, QR, UPC-E/A, EAN-8/128  (Прочитано 12848 раз)
0 Пользователей и 4 Гостей смотрят эту тему.
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« : 21-10-2011 08:29 » 

Собственно нужна инфа по ним:

•   DataMatrix
•   QR
•   UPC-E
•   UPC-A
•   EAN-8
•   EAN-128


В идеале хочу сам их отрисовывать под виндой в gdi+. Если кто такое делал, насколько это всё сложно? Пока стоит вопрос оценки затрат времени. Мнения слышал - до недели, про код, но мне что-то не верится. Так может лучше готовую библиотеку купить? Какую?
Лично я пока против таких решений, как правило они генерят картинки, мне же лучше самому их отрисовывать в DC.
С другой стороны, бегло погуглив, мне кажется что это не так всё сложно. Правда чёткого описания алгоритмов не нашёл.
В вики стоит:
Цитата
Хотя стандарт является свободным, нет бесплатных документов, описывающих процесс кодирования.

Так ли это?
« Последнее редактирование: 21-10-2011 08:31 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 21-10-2011 08:42 » 

Последние 4 (одномерные) - стандарт вроде как известен и открыт. Все 4 достаточно близкие. EAN 8 особо от EAN 13 не отличается, кроме как количество цифр (и по-моему только 2 кодировки в EAN 8 вместо 3х в EAN 13).
Все же для указанных одномерных штрихкодов отталкиваться нужно от EAN 13 как наиболее общего для UPC-E, UPC-A, EAN-8. EAN 128 немного в стороне, но тоже близкий "по духу".
Кодирование на wikipedia описано достаточно полно.

С двухмерными не работал.
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #2 : 21-10-2011 09:23 » 

Ок, спасибо. Тогда ещё так. В программе есть уже штрихкоды для:

Code 2/5 Interleaved
Code 2/5 Industrie
Code 39
Code 128
EAN 13

Но их делал программер, который уволился год назад, и с которым у меня, скажем так, расхождения в эстетическом подходе к коду, поэтому мне легче самому всё сделать, чем в его коде ковыряться. Ладно, с одномерными более менее понятно.

Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 21-10-2011 09:42 » 

> Code 2/5 Industrie
Вот этот вообще не знаю.

> поэтому мне легче самому всё сделать, чем в его коде ковыряться
весомый аргумент, тем более что ничего сложного нет.

Формирование (одномерного?) штрихкода делится на 2 этапа: кодирование исходных даных в элементы штрихкода (добавление служебных символов и контрольных сумм) и вывод элементов в графический вид.
Втрой этап можно стандартизировать, если не особо важно полное соответствие стандртам (Т.е. достаточно 100% читаемости: так, стандарт EAN 13 описывает праметры шрифта, которым дублируется информация о штрихкоде, и удлиннние резделительных линий, что, естественно, не влияет на читабельность штрихкода сканером)
Записан
x77
Команда клуба

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #4 : 21-10-2011 10:53 » 

они все шрифтами тру-тайповскими кодируются. блатные принтеры умеют подгружать фонты из памяти по команде, а если чисто программно - то это не битмапы, это шрифты.

Джон, гугли и да обломится Ага вот тут, например: http://sourceforge.net/projects/barcode4j/files/barcode4j/

валом проектов по бар-кодам, "отрисовывать под виндой в gdi+" - зачем? все эти баркоды давным дано загнаны в шрифты, просто интсаллируешь нужный себе в систему, и в любом элементе управления в любой среде в свойстве "Текст" набираешь нужное. и имеешь бар-код.
Записан

Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 21-10-2011 13:20 » 

> в любом элементе управления в любой среде в свойстве "Текст" набираешь нужное
Не для всех штрихкодов так можно набрать: есть управляющие символы, есть разная кодировка одной цифры (EAN-13)

В демах по указанной ссылке нет QR кода.
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #6 : 21-10-2011 13:29 » 

Не, Игорь, я не совсем уж прям не знаю что мне делать. Просто пока всё на стадии оценки и прикидки. Поэтому и хотелось бы узнать мнение тех, кто это непосредственно реализиовал. А так, да. Гуглю ессно. Но хочется сделать нормально, по спецификации, чтобы потом, оглядываясь, не было мучительно больно.

А про шрифты для одномерных помнится разговор и у нас был, но по какой-то причине от них отказались. Думаю что всё-таки не гибко это. А QR ваще запаришься в шрифт загонять. Остальное тоже не подходит. У меня проект на С++. Почему рисовать? Потому что баркод это элемент среди кучи других таких таких же, которые размещаются на лейблах, которых может быть несколько сотен на страничке за один раз. Для каждого подгружать что-либо слишком мутарно. Поэтому рисую сразу и всё, сначала в память. Да и то иногда медленно получается, если за раз на страничке несколько тысяч элементов оказывается.

Да, конечно, в инете есть куча всего, и кое что я уже надыбал, но вопрос остаётся в способе реализации. Шеф уже скостил с недели до трёх дней на код, но всё равно *6 получается 18 дней. Будет клиент столько платить? Или дешевле купить какую-нить библиотечку, да её встроить... Собственно в этом вопрос.

На данном этапе пока смотрю в сторону возможных параметров и настроек. Всё что есть в инете выглядит как-то очень уж просто. QR ваще только переводчик текста в матрицу, а как же параметры? Поэтому, как я уже сказал, в идеале на спецификацию бы взглянуть.

Добавлено через 6 минут и 3 секунды:
Для DataMatrix вот это надыбал:
http://datenfreihafen.org/projects/iec16022.html

Для QR - http://www.d-project.com/qrcode/index.html

Но там всё только код, Java, PHP, даже JavaScript. Те сначала, чтобы оценть объём работы, мне сначала надо выдрать алгоритм, при чём нет никакой гарантии, что это всё 100% работает при всяких начальных условиях.

зы Если честно, чёт мне это уже стало поднадаедать. Уговариваю начальство сделать всё по людски. А теперь думаю или пусть менеджер впаривает клиенту две,5 недели, или пусть сами ищут и дают мне библиотеку, в конце концов это была не моя идея.
« Последнее редактирование: 21-10-2011 13:35 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
x77
Команда клуба

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #7 : 21-10-2011 14:55 » 

да ну... все своровано до нас. совершенно обыкновенный фаст репорт для д2010:




форматов он поддерживает до неимоверной матери. накидать тебе к завтрему длл, чтобы по строке картинку выплевывал?

* bc.png (36.53 Кб - загружено 1814 раз.)
« Последнее редактирование: 21-10-2011 14:58 от x77 » Записан

Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #8 : 21-10-2011 15:59 » new

Заманчиво конечно... Ага Но, к сожалению, вынужден отказаться. За инфу спасибо. Мы примерно так и расчитывали, что в пределах штуки подобная библиотека будет стоить.

Для QR на С# есть тут http://www.codeproject.com/KB/cs/qrcode.aspx, в принципе несложно её перегнать в С++, тк С# тоже в gdi+ рисует.
Но судя по всему будем чё-нить покупать. Ибо за 15-20 часов я такое ессно не сделаю.
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines