[oo-translation] Bitmap- растр

Nickolai Garbuz nickolai на garbuz.ru
Чт Май 6 17:03:32 MSD 2004



Anatoly Yakushin wrote:
> Alexej Kryukov пишет:
> 
>> On Thursday 06 May 2004 10:24, Anatoly A. Yakushin wrote:
>>
>>> Alexej Kryukov пишет:
>>> <skip>
>>>
>>>> И, наконец, конкретно для названия формата Windows BMP вообще
>>>> нужен не буквальный перевод, а общепринятое русское название.
>>>> Поскольку формат придуман MS, то, очевидно, нет ничего страшного
>>>> в том, чтобы принять предложенный ею же перевод (который к тому
>>>> же всем привычен), т. е. именно "точечный рисунок Windows".
>>>
>>>
>>> Я бы перевел "растровый рисунок Windows", не следуя в данном
>>> случае общепринятому переводу от MS. Ибо точка и пиксел -
>>> это очень разные понятия.
>>
>>
>>
>> Ну, если вернуться к давней теме "точка vs пиксел", то согласно
>> данному Николаем определению, с которым тогда как будто все
>> согласились:
>>
>> "Пиксель" - это неделимая единица растрового изображения, которая 
>> характеризуется тремя параметрами - x, y, цвет. Термин "пиксель" - 
>> контекстно привязан к дискретным устройствам ввода/вывода. Точка - это 
>> объект графического изображения не зависящий от типа устройства.
>>
>> С этой точки зрения рисунки bmp и xpm являются именно точечными,
>> ибо одна точка растра в данном случае совершенно не обязана
>> соответствовать одному пикселу, хотя в идеале такое соответствие
>> и предполагается.
> 
> 
> "Что такое пиксель?
> Пиксель - (от слов picture element- элемент изображения) представляет 
> собой элементарную цветную точку, совокупность которых образует 
> изображение. Пиксель является основным элементом растровых изображений."
> 
> Никаким образом он к устройствам ввода - вывода не привязан при 
> определении битовой карты. Прозевал я это место в определении. Каюсь :)

Давайте не будем придумывать то, чего нет. Растр всегда привязан к 
дискретному устройству ввода-вывода и именно для него был создан.

Позволю себе отступление. На заре своей трудовой деятельности мне 
довелось работать в коллективе, который пытался сотворить советскую CAD 
систему, на базе одной удачной французской разработки. По моему, она 
называлась SECAPA. Это была полностью автономная система и работала даже 
без MS-DOS, хоть и на платформе Intel. Основным достоинством этой 
системы был аналоговый дисплей с размером 21". Луч на том дисплее 
управлялся по такому же принципу, как и на осциллографе. Он рисовал 
только контуры изображения, а не бегал в холостую по всей площади 
кинескопа. Так вот, В ТОЙ СИСТЕМЕ вообще НЕ БЫЛО ТАКИХ ПОНЯТИЙ, КАК 
РАСТР ИЛИ БИТМАР, а было поле вывода изображения с размером [0,0..1,0] 
по оси Х и У. Однако визуальное качество изображения (гладкость кривых и 
окружностей, отображение тонких линий) была значительно выше, чем на 
современных дисплеях XGA (1024x768). Да и зачем там был нужен растр, 
если другими устройствами ввода/вывода были планшет и графопостроитель, 
где движение пера управлялось через сантиметры и секунды.

Растр (bitmap) как понятие появился с распространением дискретных 
устройств, в первую очередь дисплеев. Формирование растрового 
изображения по вычислительным затратам всегда дороже, чем формирование 
аналогового изображения. При рисовании на растре, надо обрабатывать и 
хранить все элементы изображения, а не только те, которые его формируют. 
  Копирование растра на экран дисплея (матричного принтера) - самая 
быстрая операция, требующая минимальных вычислительных затрат. Рисование 
на растровом дисплее с помощью примитивов ( линия, дуга и т.п.) более 
длительная и утомительная операция. Потому еще на заре существования 
растровых дисплеев был изобретен такой прием программирования, когда 
создавался в памяти растр (Bitmap), совпадающий по размерам 
(pixel2pixel) с активным портом вывода (ViewPort) дисплея. Далее, этот 
растр объявлялся устройством, для которого вызывались стандартные 
функции рисования/отсечения. После окончания процедуры формирования 
изображения, растр копировался на дисплей в соответствующий порт вывода.
Известны недостатки такого подхода:
1) Требуется больше памяти;
2) Требуется больше времени.
Известны достоинства:
1) Для пользователя изображение становится более четким.
2) Глаз успевает лучше зафиксировать неподвижный кадр, пока на растре в 
памяти формируется новый.
3) Появляется возможность создания анимированых изображений.

Этот прием до сих пор наиболее часто используется на всех платформах 
имеющих дискретные устройства вывода - и на мощных игровых станциях и на 
мобильных телефонах. А выпады в сторону Microsoft считаю не относящимися 
к теме.

Что касается формата, сжатия и заголовка растрового файла, то к переводу 
интерфейса это не имеет никакого значения. Это все придумано для того, 
чтобы повысить плотность хранения информации. Однако в момент 
отображения (копирование на дисплей) все равно происходит разуплотнение 
сжатого изображения в формат зависящий от типа устройства и структурно 
представляющий из себя прямоугольник, стороны которого измеряются целым 
числом.

> 
> Другое дело, что сегодня, с появлением цифровых камер и матриц в понятие 
> "пиксель" вкладывается и хардварное значение. Эти толкования не стоит 
> путать.
> 
Это не причина, а следствие. :)

> Точка - понятие геометрическое. В векторном рисунке тоже есть понятие 
> точки. И легко представить векторное изображение, состояшее из точек.

С геометрической точки зрения ЭТО АБСУРД :)
Не надо путать Пиксель как конечный элемент растра с понятием 
геометрической точки. :) Согласно определению Евклидовых "Начал", Точка 
есть неделимый элемент, характеризующийся местоположением в пространстве 
и не имеющий размера (ширины). :) В этом случае, для формирования 
конечного изображения необходимо бесконечное множество геометрических 
точек. А это, простите, как?

Снова простите за ликбез. Но мы рискуем дойти до полного абсурда :)
ВЕКТОРНОЕ изображение (правильнее формат хранения) - это обычный случай 
придания нового смысла старому слову. В нашем случае слово ВЕКТОР не 
имеет отношения к понятию АЛГЕБРАИЧЕСКИЙ вектор, который характеризует 
конечное множество величин, обрабатываемых в заданном порядке, равно как 
и не имеет отношения к понятию ФИЗИЧЕСКИЙ (ГЕОМЕТРИЧЕСКИЙ) вектор, 
который характеризуется направлением и величиной. Главное преимущество 
векторного формата хранения ихображений - высокая плотность записи 
информации. Ни один растровый формат не сравниться по плотности 
представления информации об изображении с векторным форматом хранения 
даже в 2D. В 3D растр просто отдыхает. :) Векторный формат хранения 
изображений, правильнее было бы назвать ФОРМАТОМ хранения ПРИМИТИВОВ, 
где ПРИМИТИВ - это простейший элемент изображения, характеризующийся 
начальными условиями и правилом - что с этим делать. Векторный формат 
хранения графической информации может быть как бинарным (CDR), так и 
текстовым (DXF). В случае текстового формата графические примитивы, 
например, могут выглядеть так:
CR - Окружность (x, y, радиус, цвет);
LN - Прямая(х1, у1, х2, у2, толщина, цвет);
RT - Прямоугольник(х1, у1, х2, у2, толщина, цвет);

Тогда для сохранения информации о красной окружности радиусом 100 и 
центром в точке (150, 150) нам достаточно записать:
CR(150, 150, 100, красный) - всего 26 символов или 26 байт.
Первые два символа записи CR - это правило, что рисовать - окружность. 
Параметры в скобках - это начальные условия.

Чтобы сохранить информацию об этом изображении в растровом формате. Нам 
потребуется (МИНИМУМ) 5000 байт, при условии, что наш растровый формат 
передает всего 16 цветов (4 бита), а заголовок хранит смещение:
5000 = 100*100 * 4/8.
Замечания о методах сжатия здесь не уместны, так как в момент 
отображения растра, последний будет разуплотнен и займет в памяти ровно 
столько места, сколько необходимо для хранения всех его элементов с 
учетом глубины цветовой палитры.

Сложные изображения в векторных форматах образуются из множества примитивов.

> 
> Т.е. в сухом остатке пиксель - это точка растровой графики.

А может примем более емкое определение?
"Пиксель" - это неделимая единица растрового изображения(дискретного 
устройства), которая характеризуется тремя параметрами - x, y, цвет. :)


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


> 
> 
> 

-- 
Best regards,
	Nickolai Garbuz

	http://ru.openoffice.org/
	http://juga.ru/
	http://i-rs.ru/



Подробная информация о списке рассылки Translation