<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=Generate1DBarcode</id>
	<title>Generate1DBarcode - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=Generate1DBarcode"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Generate1DBarcode&amp;action=history"/>
	<updated>2026-04-04T10:12:21Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://sfsys.ru/index.php?title=Generate1DBarcode&amp;diff=1120&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Generate1DBarcode&amp;diff=1120&amp;oldid=prev"/>
		<updated>2021-02-07T06:51:00Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 06:51, 7 February 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=Generate1DBarcode&amp;diff=1119&amp;oldid=prev</id>
		<title>Admin at 17:50, 1 July 2019</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Generate1DBarcode&amp;diff=1119&amp;oldid=prev"/>
		<updated>2019-07-01T17:50:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{infobox function&lt;br /&gt;
|name=Generate1DBarcode&lt;br /&gt;
|object=[[Функции общего назначения]]&lt;br /&gt;
|caption=Функции штрихкодов&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|db=0&lt;br /&gt;
|exception=Невозможно превратить в строку, число, неверный аргумент&lt;br /&gt;
|visual=0}}&lt;br /&gt;
{{HeadLinks|&lt;br /&gt;
* [[Main_Page|Начальная страница]]&lt;br /&gt;
* [[Общее_описание_языка|Общее описание]]&lt;br /&gt;
* [[Объекты]]&lt;br /&gt;
* [[Функции общего назначения]]}}&lt;br /&gt;
Функция генерирует линейный штрихкод указанного типа с указанными размерами, если необходимо. Параметры генерации настраиваются с помощью дополнительных установок, если необходимо. Функция поддерживает следующие виды штрихкодов: '''Code 128''','''UPC''','''EAN''','''Code 39''','''ISBN''','''Code 93''','''ITF''' (Interleaved 2 of 5),'''MSI''','''Codabar'''. Результат представляется в виде картинки, которую можно использовать на форме, в электронной таблице, передавать с помощью TCP/IP или сохранять на диск в определенном формате (см. [[Картинка]]). Размер создаваемой картинки обычно не имеет большого значения для линейных штрихкодов, однако, если в штрихкоде присутствует текст, чем больше будет размер сгенерированной картинки, тем более гладким при печати будет выглядеть текст. Картинка может генерироваться в двух форматах: реальный цвет (32 бита на точку) и индексированный цвет (8 бит на точку). В первом случае картинка занимает почти в 4 раза больше памяти, при этом, при печати разницы между этим двумя форматами не будет, поэтому, для печатных форм выгоднее использовать индексированный цвет. Штрихкод оперирует понятием ширина модуля или высота модуля. В первом случае, это ширина одного штриха в точках, во втором, высота штриха в точках. Для линейного штрихкода текст обычно печатается совместно с штриховым рисунком и располагается непосредственно под последним, однако, эту опцию можно отключить.&lt;br /&gt;
&lt;br /&gt;
Документация содержит онлайн демонстрацию возможностей функции в статье [[Генерация штрихкодов]].&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''Generate1DBarcode'''(''&amp;lt;Тип штрихкода (STRING)&amp;gt;''{{ByRef|,&amp;lt;Ширина (INT)&amp;gt;,&amp;lt;Высота (INT)&amp;gt;}},''&amp;lt;Кодируемое сообщение (STRING)&amp;gt;''{{Optional|,&amp;lt;Установки (STRING)&amp;gt;}}):''&amp;lt;Результат (PICTURE)&amp;gt;''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Аргументы ====&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Тип штрихкода (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - Строка-тип штрихкода, который необходимо сгенерировать. Поддерживаются следующие типы штрихкодов:&lt;br /&gt;
** '''Code 128''', '''Code128''' -- Самый универсальный линейный штрихкод. Code 128 может содержать строку любого размера, поддерживает латинские буквы разных регистров, цифры, знаки, бинарную информацию. &lt;br /&gt;
** '''EAN''' -- Стандартный товарный штрихкод, поддерживает только цифры, может использовать формат с 13 цифрами (EAN-13) и с 8-ю цифрами (EAN-8). Последняя цифра кода является контрольной суммой, если предлагаемые для кодирования данные содержат неверную последнюю цифру, будет вызвано исключение. &lt;br /&gt;
*** Для EAN-13 последняя цифра может быть рассчитана по формуле: &amp;lt;code&amp;gt;(10-((d2+d4+d6+d8+d10+d12)*3+d1+d3+d5+d7+d9+d11) mod 10) mod 10&amp;lt;/code&amp;gt;, где d? -- цифра кода соответствующей позиции.&lt;br /&gt;
*** Для EAN-8 последняя цифра может быть рассчитана по формуле: &amp;lt;code&amp;gt;(10-((d1+d3+d5+d7)*3+d2+d4+d6) mod 10) mod 10&amp;lt;/code&amp;gt;, где d? -- цифра кода соответствующей позиции.&lt;br /&gt;
** '''UPC''' -- Стандартный товарный штрихкод США, являющийся совместимым с EAN-13 (EAN-13 является продолжением идеи UPC-A). Поддерживаются только цифры. Может использоваться формат с 2-мя цифрами (UPC-2, дополнение, обычно задающее номер журнала), 5-ю цифрами (UPC-5), 8-ю цифрами (UPC-E) или 12-ю цифрами (UPC-A). Функция также принимает UPC с 13-тью цифрами , когда его первая цифра равна нулю. &lt;br /&gt;
*** Последняя цифра UPC-A является контрольной и рассчитывается по формуле &amp;lt;code&amp;gt;(10-((d1+d3+d5+d7+d9+d11)*3+d2+d4+d6+d8+d10) mod 10) mod 10&amp;lt;/code&amp;gt;.&lt;br /&gt;
*** Последняя цифра UPC-5 является контрольной и рассчитывается по формуле &amp;lt;code&amp;gt;((d1+d3+d5)*3+(d2+d4)*9) mod 10&amp;lt;/code&amp;gt;.&lt;br /&gt;
*** Первая цифра UPC-E должна быть равна ''0'' или ''1''. &lt;br /&gt;
** '''ISBN''' -- Используется для нумерации книг и журналов. Совместим с EAN-13, однако, обычно имеет 10 цифр. Чтобы превратить ISBN в EAN-13, к данным ISBN обычно добавляется три цифры &amp;quot;978&amp;quot; с начала строки. Функция принимает 10-цифорное значение ISBN (при этом последняя контрольная цифра пересчитывается автоматически), либо 13-цифорное значение ISBN, трактующееся как EAN-13.&lt;br /&gt;
** '''Code 39''', '''Code39''' -- Является ранним аналогом Code 128, при одинаковых входящих данных, создает более длинный штрихкод по сравнению с Code 128.&lt;br /&gt;
** '''Code 93''', '''Code93''' -- Менее известная попытка улучшения Code 39. В данный момент используется крайней редко.&lt;br /&gt;
** '''ITF''', '''ITF-14''', '''Interleaved 2 of 5''' -- Штрихкод может быть любой длины, однако, принимает только цифры, при этом количество цифр должно быть четным числом. Преимуществом штрихкода является его компактность (сравнимая, однако, с Code 128) и встроенный механизм контроля корректности.&lt;br /&gt;
** '''MSI''' -- Устаревший штрихкод любой длины, принимающий только цифры. Может содержать контрольную цифру, способ создания которой может быть разным (см. параметр '''CD'''). Созданный штрихкод гораздо менее компактен, чем ITF или Code 128.&lt;br /&gt;
** '''Codabar''', '''CodeABar''' -- Устаревший штрихкод любой длины, принимающий только цифры и символы &amp;lt;code&amp;gt;-$:/.+ABCD&amp;lt;/code&amp;gt;. Штрихкод должен начинаться и заканчиваться на один из символов &amp;lt;code&amp;gt;ABCDEN*T&amp;lt;/code&amp;gt;. Содержит механизм контроля корректности, поэтому не нуждается в контрольной цифре. &lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Ширина (INT)&amp;gt;,&amp;lt;Высота (INT)&amp;gt;''&amp;lt;/code&amp;gt; - {{ByRef}} Ширина и высота картинки результата, в зависимости от этих параметров, функция работает в одном из режимов:&lt;br /&gt;
** ''&amp;lt;Ширина&amp;gt;'',''&amp;lt;Высота&amp;gt;'' являются переменными и ''&amp;lt;Ширина&amp;gt;'' инициализирована нулем. В этом случае, функция вернет в указанных переменных минимальную ширину и высоту картинки, требуемой для генерации штрихкода, при этом сама функция не возвратит картинку. Этот режим используется для определения высоты и ширины с тем, чтобы использовать эти данные перед генерацией.&lt;br /&gt;
** Если аргумент ''&amp;lt;Ширина&amp;gt;'' меньше нуля (к примеру, ''-1''), функция произведет генерацию картинки в необходимой пропорции, с учетом коэффициента увеличения (''SCALE'') и вернет результат, как картинку.&lt;br /&gt;
** Если аргументы ''&amp;lt;Ширина&amp;gt;'' и ''&amp;lt;Высота&amp;gt;'' больше нуля, они задают ширину и соответственно высоту результирующей картинки, при этом функция постарается разместить штрихкод в центральной части картинки. Высота картинки будет определять высоту штрихов, так как высота штриха для линейных штрихкодов может варьироваться в определенном диапазоне, однако высоту текста изменить уже сложнее. Если места на картинке с заданными размерами недостаточно, функция вызовет исключение.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Кодируемое сообщение (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - Кодируемое сообщение должно представлять собой строку (ANSI или UTF-16) и может содержать только цифры или цифры, буквы и знаки, в зависимости от типа генерируемого штрихкода.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Установки (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Строка представляет собой набор дополнительных параметров, используемых для генерации штрихкода. Параметры записываются один за другим, разделенные запятыми. Каждый из параметром должен быть записан в виде &amp;lt;code&amp;gt;&amp;lt;Имя параметра&amp;gt;:&amp;lt;Значение параметра&amp;gt;&amp;lt;/code&amp;gt; (к примеру, &amp;lt;code&amp;gt;SCALE:3&amp;lt;/code&amp;gt;). Ниже дана таблица возможных параметров с описанием.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;border-collapse:collapse;font-size:80%;width=95%;&amp;quot;&lt;br /&gt;
! width=20%|Параметр&lt;br /&gt;
! Описание&lt;br /&gt;
|-&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''T:+''' (по умолчанию), '''T:-'''&lt;br /&gt;
|Параметр задает режим печати текста под генерируемым штрихкодом (''T:+''), либо запрещает генерацию текста (''T:-'').&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''&amp;lt;nowiki&amp;gt;F:&amp;lt;Имя шрифта&amp;gt;[|&amp;lt;Размер шрифта&amp;gt;[|&amp;lt;Свойства шрифта&amp;gt;[|&amp;lt;Цвет шрифта&amp;gt;]]]&amp;lt;/nowiki&amp;gt;'''&lt;br /&gt;
|Параметр задает шрифт для генерации текста. По умолчанию используется значение &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;Consolas|||0&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;. См. также статью [[Формат записи шрифтов в системе]].&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''BC:&amp;lt;Цвет бумаги&amp;gt;'''&lt;br /&gt;
|Используется для задания цвета заднего фона, на котором генерируется штрихкод. Цвет задается в шестнадцатеричной 24-битной нотации. По умолчанию &amp;lt;code&amp;gt;BC:FFFFFF&amp;lt;/code&amp;gt; -- белый цвет.&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''LC:&amp;lt;Цвет штриха&amp;gt;'''&lt;br /&gt;
|Используется для задания цвета штрихов. Цвет задается в шестнадцатеричной 24-битной нотации. По умолчанию &amp;lt;code&amp;gt;LC:000000&amp;lt;/code&amp;gt; -- черный цвет.&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''BR:&amp;lt;Ширина пустого окружения штрихкода (бордюра)&amp;gt;'''&lt;br /&gt;
|Ширина задается в точках (не модулях). По умолчанию зависит от типа штрихкода.&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''BRU:&amp;lt;Ширина верхнего отступа (бордюра)&amp;gt;'''&lt;br /&gt;
|Ширина задается в точках (не модулях). По умолчанию зависит от типа штрихкода.&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''BRD:&amp;lt;Ширина нижнего отступа (бордюра)&amp;gt;'''&lt;br /&gt;
|Ширина задается в точках (не модулях). По умолчанию зависит от типа штрихкода.&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''BRL:&amp;lt;Ширина левого отступа (бордюра)&amp;gt;'''&lt;br /&gt;
|Ширина задается в точках (не модулях). По умолчанию зависит от типа штрихкода.&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''BRR:&amp;lt;Ширина правого отступа (бордюра)&amp;gt;'''&lt;br /&gt;
|Ширина задается в точках (не модулях). По умолчанию зависит от типа штрихкода.&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''BRT:&amp;lt;Ширина зазора между штрихами и текстом&amp;gt;'''&lt;br /&gt;
|Ширина задается в точках (не модулях). Разрешено использование отрицательной ширины. По умолчанию составляет две ширины модуля.&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''SCALE:&amp;lt;Коэффициент масштабирования&amp;gt;'''&lt;br /&gt;
|Безразмерный коэффициент на который будут умножены все размеры (ширина и высота модуля, размер шрифта, размеры бордюров и пр.) при генерации штрихкода. По умолчанию равен единице. К примеру, если этот коэффициент будет равен двум, генерируемая картинка будет в два раза больше.&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''QZ:&amp;lt;Размер зоны тишины&amp;gt;'''&lt;br /&gt;
|&amp;quot;Зона тишины&amp;quot; это дополнительный бордюр следующий по горизонтали перед штрихами штрихкода и после них. Стандарты некоторых штрихкодов требуют присутствия подобной зоны для корректного считывания. Зона задается в ширинах модуля (не в точках) и по умолчанию составляет 10 модулей.&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''BH:&amp;lt;Высота модуля&amp;gt;'''&lt;br /&gt;
|Задает высоту модуля в точках. По умолчанию эта величина рассчитывается из размеров картинки (если таковые заданы) или ширины модуля по формулам, являющимся стандартными для каждого из штрихкодов.&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''BHP:&amp;lt;Высота модуля в процентах&amp;gt;'''&lt;br /&gt;
|Задает высоту модуля в процентах от ширины среднего кодированного символа (не одного модуля). Для разных типов штрихкодов один символ может быть кодирован разным количеством модулей. К примеру, при числе 100 высота модуля будет соответствовать ширине одного символа. Не имеет смысла использовать этот параметр одновременно с ''BH''.&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''NH:&amp;lt;Высота меток EAN&amp;gt;'''&lt;br /&gt;
|Задает высоту удлинения начальных, конечных и средних штрихов в штрихкодах типа EAN. Высота задается в процентах и высоты текста и имеет значение 25 по умолчанию. Данная высота является декоративной и не влияет на читаемость штрихкода.&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''BPP:&amp;lt;Битов на точку&amp;gt;'''&lt;br /&gt;
|Задает режим создаваемой картинки. Может использоваться 2 значения: 8 (индексируемый цвет), 32 (реальный цвет). 8 бит на точку используется по умолчанию, так как позволяет сократить потребность в памяти в  4 раза при создании картинки. При печати картинки разницы между 8-битным и 32-битным цветом не будет, однако, при сохранении картинки на диск или использовании для внешних источников, выбор формата определяется возможностями декодирования картинки внешним источником.&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''WEW:&amp;lt;Ширина широкого модуля&amp;gt;'''&lt;br /&gt;
|Задает ширину широких модулей для штрихкодов типа Code 39, ITF и Codabar, которые наряду с узкими модулями используют также широкие. Обычно эта ширина равна 2 узким модулям, однако стандарты разрешают использовать число 3 или даже больше.&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''CD:&amp;lt;Тип контрольной цифры MSI&amp;gt;'''&lt;br /&gt;
|Задает способ подсчета контрольной цифры в штрихкоде MSI. Могут использоваться следующие значения: 0 -- не добавлять контрольную цифру перед выводом, 10 (по умолчанию) -- контрольная цифра рассчитывается способом &amp;lt;code&amp;gt;mod 10&amp;lt;/code&amp;gt;, 11 -- контрольная цифра рассчитывается способом &amp;lt;code&amp;gt;mod 11&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Возвращаемое значение ====&lt;br /&gt;
В зависимости способа вызова функции, она возвращает либо объект, типа картинка, либо пустое значение&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
== Генерация EAN-13 ==&lt;br /&gt;
[[image:EAN13_Example.png|thumb|right|Картинка-результат работы примера]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Пример генерирует EAN-13 и сохраняет его на диск в файл C:\file.png&lt;br /&gt;
аК:=Generate1DBarcode(&amp;quot;EAN&amp;quot;,-1,-1,&amp;quot;4601248015571&amp;quot;,&amp;quot;SCALE:5,BRT:-2,NH:50,F:Tahoma,BPP:32,BRU:2&amp;quot;);&lt;br /&gt;
аК.Save(&amp;quot;c:\file.png&amp;quot;,&amp;quot;png&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Генерация UPC-A с дополнительным UPC-2 ==&lt;br /&gt;
[[image:UPCA_Example.png|thumb|right|Картинка-результат работы примера]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Пример генерирует UPC-A с дополнительным UPC-2, располагающимся справа от него&lt;br /&gt;
// Затем сохраняет результат на диск в файл C:\file.png&lt;br /&gt;
//Штрихкод взят с сайта http://www.barcodeisland.com/upcext.phtml&lt;br /&gt;
СтрПар:=&amp;quot;SCALE:5,BRT:-2,NH:50,F:Tahoma,BPP:32,BRU:2,BHP:200&amp;quot;;&lt;br /&gt;
//Генерация штрихкодов&lt;br /&gt;
аК:=Generate1DBarcode(&amp;quot;UPC&amp;quot;,-1,-1,&amp;quot;042100005264&amp;quot;,СтрПар);&lt;br /&gt;
аК2:=Generate1DBarcode(&amp;quot;UPC&amp;quot;,-1,-1,&amp;quot;12&amp;quot;,СтрПар);&lt;br /&gt;
//Создание большой картинки и добавление на нее сгенерированных ранее штрихкодов&lt;br /&gt;
aPic:=Picture.Create(аК.Width+аК2.Width+5,Max(аК.Height,аК2.Height),toRGB(255,255,255),32);&lt;br /&gt;
aPic.DrawPicture(аК,0,0,аК.Width,аК.Height);&lt;br /&gt;
aPic.DrawPicture(аК2,аК.Width+5,0,аК2.Width,аК2.Height);&lt;br /&gt;
//Сохранение результата&lt;br /&gt;
aPic.Save(&amp;quot;c:\file.png&amp;quot;,&amp;quot;png&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Генерация Code 128 ==&lt;br /&gt;
[[image:Code128_Example.png|thumb|right|Картинка-результат работы примера]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Пример генерирует Code 128 с текстом &amp;quot;Code 128&amp;quot; и сохраняет его на диск в файл C:\file.png&lt;br /&gt;
аК:=Generate1DBarcode(&amp;quot;Code 128&amp;quot;,-1,-1,&amp;quot;Code 128&amp;quot;,&amp;quot;SCALE:5,BRT:-1,F:Tahoma,BPP:32,BRU:2&amp;quot;);&lt;br /&gt;
аК.Save(&amp;quot;c:\file.png&amp;quot;,&amp;quot;png&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Сравнение картинок Code 128, Code 39, Code 93, ITF, MSI и Codabar на примере генерации числа ==&lt;br /&gt;
[[image:LinearBarcodeComparison_Example.png|thumb|right|Картинка-результат работы примера]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Пример генерирует число 1234567890 для 6 разных типов штрихкодов, при этом&lt;br /&gt;
//  для штрихкода типа Codabar по спецификации добавляются начальный и конечный знак (+2 знака),&lt;br /&gt;
//  что делает сравнение не совсем честным (однако, требование отобразить &amp;quot;1234567890&amp;quot; выполняется).&lt;br /&gt;
СтрПар:=&amp;quot;SCALE:5,T:-,BRU:2&amp;quot;;&lt;br /&gt;
aList:=List.Create(&amp;quot;ITF&amp;quot;,&amp;quot;Code 128&amp;quot;,&amp;quot;Code 93&amp;quot;,&amp;quot;MSI&amp;quot;,&amp;quot;Codabar&amp;quot;,&amp;quot;Code 39&amp;quot;);&lt;br /&gt;
bList:=List.Create();&lt;br /&gt;
Шир:=0;&lt;br /&gt;
Выс:=0;&lt;br /&gt;
//Подсчет требуемой высоты и ширины общей картинки, генерация картинок в цикле&lt;br /&gt;
For i:=1 To aList.Size() Do&lt;br /&gt;
  If aList.Get(i)=&amp;quot;Codabar&amp;quot; Then&lt;br /&gt;
    аК:=Generate1DBarcode(aList.Get(i),-1,-1,&amp;quot;*1234567890*&amp;quot;,СтрПар);&lt;br /&gt;
  Else&lt;br /&gt;
    аК:=Generate1DBarcode(aList.Get(i),-1,-1,&amp;quot;1234567890&amp;quot;,СтрПар);&lt;br /&gt;
  EndIf;  &lt;br /&gt;
  bList.Add(аК);&lt;br /&gt;
  Шир:=Max(Шир,аК.Width);&lt;br /&gt;
  Выс:=Выс+аК.Height+10;&lt;br /&gt;
EndDo;&lt;br /&gt;
//Нахождение высоты текстовой строки&lt;br /&gt;
ВысТ:=Picture.TextHeight(&amp;quot;Code 128&amp;quot;,&amp;quot;Tahoma|14|B&amp;quot;);&lt;br /&gt;
//Создание большой картинки и добавление на нее сгенерированных ранее штрихкодов&lt;br /&gt;
aPic:=Picture.Create(Шир,Выс+ВысТ*aList.Size(),toRGB(255,255,255),32);&lt;br /&gt;
ВысТек:=0;&lt;br /&gt;
For i:=1 To aList.Size() Do&lt;br /&gt;
  аК:=bList.Get(i);&lt;br /&gt;
  aPic.DrawPicture(аК,0,ВысТек,аК.Width,аК.Height);&lt;br /&gt;
  aPic.Text(0,ВысТек+аК.Height,aList.Get(i),&amp;quot;Tahoma|14|B&amp;quot;);&lt;br /&gt;
  ВысТек:=ВысТек+аК.Height+ВысТ+10;&lt;br /&gt;
EndDo;&lt;br /&gt;
&lt;br /&gt;
//Сохранение результата&lt;br /&gt;
aPic.Save(&amp;quot;c:\file.png&amp;quot;,&amp;quot;png&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>