Сколько килобайт памяти необходимо для хранения изображения размером 512 128 пикселей, если их 128
Обновлено: 21.11.2024
Получите полный доступ к Digital Photography: The Missing Manual и более чем 60 тысячам других книг, воспользовавшись бесплатной 10-дневной пробной версией O'Reilly.
Есть также прямые онлайн-мероприятия, интерактивный контент, материалы для подготовки к сертификации и многое другое.
Первое число, которое вы видите в описании цифровой камеры, — это ее мегапиксельное число. Пиксель (сокращение от picture element) — это одна крошечная цветная точка, одна из тысяч или миллионов, составляющих одну цифровую фотографию. (Один мегапиксель равен одному миллиону пикселей.) Вам не избежать изучения этого термина, поскольку пиксели — это все в компьютерной графике. Количество мегапикселей вашей камеры определяет качество разрешения ваших фотографий (количество отображаемых деталей). Например, 5-мегапиксельная камера имеет лучшее разрешение, чем 3-мегапиксельная. Это также стоит больше. Сколько из этих пикселей вам нужно на самом деле, зависит от того, как вы собираетесь отображать снимаемые изображения.
Разрешение для просмотра на экране
Многие цифровые фотографии никогда не попадают дальше экрана компьютера. После того, как вы перенесете их на свой компьютер, вы можете отправить изображения по электронной почте, опубликовать их на веб-странице или использовать в качестве изображений рабочего стола или экранных заставок.
Если такие действия являются пределом ваших амбиций в области цифровой фотографии, вы можете обойтись очень небольшим количеством мегапикселей. Даже 2-мегапиксельная камера стоимостью 100 долларов США создает изображение размером 1 600 x 1 200 пикселей, которое уже слишком велико для стандартного экрана ноутбука с разрешением 1 024 x 768 пикселей (без масштабирования и прокрутки).
Разрешение для печати
Однако, если вы собираетесь печатать фотографии, вам потребуется значительно больше мегапикселей. Типичный компьютерный экран — это устройство с довольно низким разрешением: большинство из них имеют разрешение от 72 до 96 пикселей на дюйм. Но чтобы распечатанная цифровая фотография выглядела такой же четкой и гладкой, как настоящая фотография, цветные точки должны располагаться на бумаге намного ближе друг к другу — не менее 150 пикселей на дюйм.
Помните 2-мегапиксельную фотографию, которая выходила за края экрана ноутбука? Его разрешение (измеряемое в точках на дюйм) подходит только для печати 5 x 7. Увеличьте его еще больше, и точки станут видимыми пятнышками. Ваша семья и друзья будут выглядеть так, как будто у них какое-то досадное кожное заболевание. Если вы хотите распечатать свои фотографии (как это делает большинство людей), помните о следующей таблице:
0,3 мегапикселя (некоторые телефоны с камерой)
Кстати, это очень грубые рекомендации. Многие факторы влияют на качество печати 8 x 10, в том числе, среди прочего, качество объектива, сжатие файла, экспозиция, дрожание камеры, качество бумаги и количество картриджей различных цветов в вашем принтере. Возможно, вы сможете печатать большие размеры, чем те, которые перечислены здесь, и будете вполне довольны ими. Но эти цифры дают приблизительное представление о том, как получить отпечатки высочайшего качества.
Еще одно важное преимущество, которое дает камера с несколькими мегапикселями, — это возможность создавать высококачественные отпечатки выбранных частей вашей фотографии. Скажем, вы сделали отличный снимок своих детей, но они занимают лишь каплю общей картины. Нет проблем, если у вашей камеры много мегапикселей. Просто обрежьте весь скучный фон и оставьте только самое интересное (вы узнаете об обрезке в главах 9 и 10). Если вы попробуете тот же маневр с изображением, полученным с 2-мегапиксельной камеры, вы получите фотографию, заполненную неприглядными пикселями.
Сколько изображений на карточке?
Вместо рулонов фотопленки вы используете карту памяти – тонкую пластинку многоразового хранилища — для хранения фотографий на цифровой камере. Карта памяти, которая идет в комплекте с большинством камер, — это шутка. Вероятно, он содержит только шесть или восемь изображений самого высокого качества. Это не что иное, как экономный заполнитель, навязанный вам компанией, производящей камеры, которая прекрасно знает, что вам нужно купить камеру большего размера. При покупке камеры обязательно учитывайте стоимость карты большего размера.
Большинство камер поставляются с тремя настройками качества изображения: черновое, нормальное и наилучшее качество (или, как говорят в Starbucks, вы часто видите в инструкции к камере: нормальное, хорошее и сверхвысокое качество). Выберите один из двух параметров самого высокого качества, если вы планируете печатать фотографии.
Невозможно переоценить, как здорово иметь в своей камере огромную карту памяти (или несколько карт меньшего размера в сумке для камеры). Поскольку вы не беспокоитесь постоянно о нехватке места на карте памяти, вы можете снимать более свободно, увеличивая свои шансы на получение отличных снимков. Вы также можете отправляться в более длительные поездки, не таская с собой ноутбук, потому что вам не нужно каждые три часа бегать в свой гостиничный номер, чтобы загрузить свои последние фотографии.Срок службы батареи вашей камеры более чем достаточен, чтобы беспокоиться: последнее, что вам нужно, — это еще одна хроническая головная боль в виде вашей карты памяти. Укусите пулю и купите побольше.
ДО СКОРОСТИФактор формата файла
Почти каждая цифровая камера в мире сохраняет фотографии в виде файлов JPEG . JPEG — самый популярный в мире формат файлов фотографий, потому что, несмотря на то, что он сжат, чтобы занимать гораздо меньше места, визуальное качество остается очень высоким.
Но JPEG — не единственный формат, с которым вы столкнетесь, особенно когда вы начнете редактировать свои фотографии, что рассматривается в части 3 этой книги. Несмотря на то, что компьютерным технологиям известно огромное количество графических форматов, на самом деле есть только два, помимо JPEG, о которых вам, цифровому фотографу, необходимо знать.
ТИФФ . Большинство цифровых камер делают фотографии в формате JPEG. Некоторые камеры, тем не менее, предлагают вам возможность оставить свои фотографии несжатыми на камере в так называемом формате TIFF. Эти файлы огромны — на самом деле, вам повезет, если вы сможете поместить один файл TIFF на карту памяти, прилагаемую к камере.
Преимущество формата TIFF заключается в том, что эти файлы сохраняют 100% исходного качества изображения. Однако обратите внимание, что в тот момент, когда вы редактируете фотографию в формате TIFF, большинство программ для редактирования изображений преобразуют файл в формат JPEG более низкого качества. Это нормально, если вы планируете заказать отпечатки или фотокнигу. Но если вы сделали этот единственный в жизни бесценный снимок в виде файла TIFF, не редактируйте его — даже не поворачивайте — если вы надеетесь сохранить его идеальное первозданное качество. Вместо этого сделайте копию файла и используйте эту копию, когда придет время редактировать. Тогда сохраните файл TIFF, чтобы у вас всегда была мастер-версия исходного снимка.
Формат RAW. Большинство цифровых камер работают следующим образом: когда вы нажимаете кнопку спуска затвора, камера изучает данные, полученные ее датчиками. Затем схема принимает решения, касающиеся уровня резкости, настроек контраста и насыщенности, цветовой «температуры», баланса белого и т. д., а затем сохраняет полученное обработанное изображение в виде сжатого файла JPEG на карте памяти.
Для миллионов людей получающееся качество изображения просто прекрасное, даже потрясающее. Но вся эта обработка в камере сводит с ума профессиональных фотографов.
Они предпочли бы сохранить каждую йоту исходной информации об изображении, независимо от размера полученного файла на карте памяти, а затем обработать файл вручную. как только он будет безопасно перенесен на ПК с помощью такой программы, как Photoshop Elements (описание начинается в главе 8). Это идея формата файла RAW, который доступен во многих более дорогих цифровых камерах. (RAW не означает ничего конкретного, и обычно пишется заглавными буквами только для того, чтобы обозначить, насколько внушительным и важным его считают серьезные фотографы.)
Изображение RAW вообще не обрабатывается; это полная запись всех данных, передаваемых датчиками камеры. В результате каждая фотография в формате RAW занимает гораздо больше места на карте памяти. Например, на 6-мегапиксельной камере размер фотографии в формате JPEG составляет около 2 МБ, но более 8 МБ при сохранении в виде файла RAW. Большинству камер также требуется больше времени для хранения фотографий в формате RAW на карту памяти.
Но для любителей обработки изображений прелесть файлов RAW заключается в том, что после того, как вы откроете их в программе редактирования изображений, поддерживающей формат RAW, вы сможете выполнять с ними поразительные действия по редактированию. Вы действительно можете изменить освещение сцены — задним числом! При этом вы не потеряете ни капли качества изображения.
До недавнего времени большинство людей использовали для редактирования такие программы, как Photoshop или Photoshop Elements. Но, что удивительно, скромные бесплатные программы, такие как Picasa и EasyShare (обе рассматриваются в главе 5), предлагают некоторые возможности формата RAW.
Не каждая камера поддерживает сохранение файлов в формате RAW. Почему только некоторые камеры совместимы? Потому что RAW — это концепция, а не формат файла. Каждая компания-производитель камер хранит свои фотоданные по-своему, поэтому на самом деле в мире RAW существуют десятки различных форматов файлов. Такие программы, как Elements, необходимо периодически обновлять, чтобы приспособить новые модели камер к формату RAW.
Следующая таблица поможет вам рассчитать, какой объем памяти на карте памяти вам понадобится. Найдите столбец, в котором указано разрешение вашей камеры в мегапикселях (МП), а затем прочитайте вниз, чтобы узнать, сколько фотографий наилучшего качества хранится на карте каждого размера.
Так зачем же нам нужны эти спрайты? Давайте обсудим практический пример:
Это скриншот уровня, созданного Йонасом Ноэллем во время его школьной стажировки в Conitec, и я думаю, что он выглядит неплохо. Теперь внимательно посмотрите на картинку ниже:
Ну, это тот же кадр, но часть волшебства исчезла! Забора нет, факелов больше нет, и даже этих надписей в левой части экрана теперь нет! И да, вы правы; все эти элементы уровня были спрайтами. Вы можете использовать любую программу рисования для создания своих спрайтов; Я использую Paint Shop Pro, потому что он довольно дешевый и хорошо выполняет свою работу, но вы можете использовать более дорогой Photoshop или даже бесплатный Gimp. Просто нарисуйте свое 2D-битовое изображение, сохраните его как файл bmp, tga или pcx, а затем добавьте его на свой уровень.
Я чувствую, что художник внутри меня хочет вырваться наружу, поэтому запустите вашу программу для рисования и давайте прямо сейчас создадим спрайт:
- Начните с изображения размером 256 x 512 пикселей, используя для него красный фон:
- Нарисуйте 2 черные линии (RGB = 000), как на картинке ниже:
- Теперь залейте интерьер металлическим градиентом:
- Залейте красные части черным цветом (RGB = 000):
- Мы добавим альфа-канал к нашему спрайту; это специальный слой, который управляет прозрачностью нашего спрайта. Выделите черные области спрайта (используйте волшебную палочку или аналогичный инструмент):
- инвертировать выделение; теперь будет выбран только световой луч:
- Выберите Selections -> Modify -> Contract и сожмите выделение (луч света) на 1 пиксель; это поможет нам избавиться от черных контуров (если они есть):
- Еще один шаг, и все готово. Выберите «Выделения» -> «Сохранить в альфа-канал», а затем сохраните спрайт в виде tga-файла.
Я добавлю этот спрайт на уровень, заменив один из исходных спрайтов бликов:
Выглядит не так уж плохо, но я не вижу сквозь луч света. позвольте мне проверить "яркий" флаг в СР:
Флажок "яркий" делает объект таким, как будто он освещен источником света, что нам здесь и нужно. Вы бы не подумали, что один флаг так сильно изменит наш спрайт, не так ли? Я мог бы бросить свою работу программиста и начать вместо этого зарабатывать на жизнь созданием спрайтов! :)
Не забывайте, что вы можете создавать ориентированные спрайты и рекламные щиты; прочитайте 9-й семинар для получения дополнительной информации.
Пришло время развлечься анимированными спрайтами; запустите WED, откройте work20.wmp и запустите его с помощью script20.wdl:
Это размытое "Правила Acknex!" текст — анимированный спрайт с 29 кадрами; взгляните на файл logo+29.pcx в папке \workshop20, если хотите увидеть, как он выглядит. Теперь давайте нажмем клавишу "E":
Мы вызвали взрыв! По сути, мы воспроизвели анимацию спрайта взрыва. Выключите двигатель, а затем снова запустите тот же файл сценария, если вы хотите вызвать еще один взрыв. Есть два времени анимации:
1) Зацикленные анимации;
2) Покадровая анимация.
Анимация воспроизводится в цикле, если ее кадры воспроизводятся более одного раза. Вы захотите использовать циклическую анимацию для эффекта огня или для вывесок, которые висят над магазинами в вашем городе, для монитора, который циклично отображает всевозможные странные/инопланетные символы, и так далее. С другой стороны, вы захотите использовать одноразовую анимацию для каждого спрайта, который воспроизводит свои кадры анимации только один раз, а затем останавливается: взрыв, эффект телепортации и т. д. Конечно, вы можете запустить одну и ту же одноразовую анимацию несколько раз (например, чтобы создать несколько взрывов), но зацикленная анимация будет просто повторять свои кадры снова и снова без остановки.
Знаю, знаю. Я говорил об этих анимационных кадрах, и теперь вам интересно, что они означают? Позвольте мне показать вам, как выглядит растровое изображение для анимированного спрайта:
Это растровое изображение содержит 5 квадратов = 5 кадров анимации. Движок будет отображать эти растровые изображения одно за другим, начиная с растрового изображения в левой части экрана и двигаясь к правой стороне экрана. Если скорость анимации достаточно велика, игрок не заметит, что смотрит на растровое слайд-шоу — он подумает, что видит «настоящую» анимацию.
Так как же создать анимированный спрайт? Ну, вы можете получить несколько бесплатных спрайтов на Acknex Unlimited, сайте 3DGS, который предлагает бесплатные ресурсы для разработчиков игр, или вы можете создать их в любой программе для рисования. Выберите правильный размер кадра, а затем создайте несколько кадров и вставьте их в одно растровое изображение. Если ваш кадр имеет размер 128 x 32 пикселя и у вас есть 4 кадра анимации, результирующее растровое изображение должно иметь размер = 512 x 32 пикселя, потому что 512 = 128 x 4, понятно?О, и не используйте те желтые рамки, которые изображены на картинке выше; Я нарисовал их, потому что хотел, чтобы вы видели, где начинается кадр анимации и где он заканчивается.
Вы можете использовать любое количество кадров для анимированных спрайтов; имейте в виду, что чем больше кадров, тем лучше выглядят эффекты, но требуется больше памяти. Спрайту pcx размером 256 x 128 пикселей потребуется 256 x 128 x 2 байта = 65 536 байтов = 64 Кб. Это означает, что если ваш спрайт имеет 16 кадров анимации, он будет использовать около 64 Кб x 16 = 1 Мб видеопамяти.
Не забывайте, что вы можете (и должны) без проблем использовать один и тот же спрайт или модель снова и снова, потому что используемая для них память выделяется только один раз; поэтому лучше использовать один и тот же спрайт 10 раз на уровне, чем использовать 2 разных спрайта. Ну, все зависит от вашего списка "системных требований".
Последнее, что нужно запомнить, — это соглашение об именах спрайтов. Видите ли, Acknex действительно хороший движок, но это не устройство для чтения мыслей, поэтому он не знает, что вы собираетесь делать с определенным спрайтом! Так что мило с вашей стороны сказать что-то вроде этого: "Дорогой Acknex, я бы хотел, чтобы вы относились к этому спрайту как к анимированному спрайту, если это возможно! Вы можете сделать это для меня?" Как ты это делаешь? Выбрав правильное имя для анимированного спрайта. Вот несколько примеров:
Вы видите то, что вижу я? Вы можете выбрать практически любое имя для вашего спрайта, но вы должны добавить «+» и количество кадров для этого спрайта. Что произойдет, если я забуду дать своему анимированному спрайту правильное имя? Он рассматривается как обычный неанимированный спрайт! Убедитесь сами:
На первом изображении (вид сбоку от WED) показано то же растровое изображение, которое было размещено на уровне с двумя разными именами. Еще раз, я использую тот же растровый файл, но движок обнаружил, что muzzle+5.pcx — это спрайт с 5 кадрами анимации, и разделил растровое изображение на 5 частей (5 кадров). На втором рисунке показано, как эти спрайты выглядят в движке; вам придется поверить мне, что muzzle+5.pcx будет вести себя как анимированный спрайт, в то время как muzzle.pcx отображает все свои кадры сразу. Я добавил эти фиолетовые рамки на второе изображение, потому что хотел упростить вам задачу; они не будут отображаться, если растровое изображение их не содержит.
Вы знаете, что мы можем использовать изображения pcx, bmp или tga для наших спрайтов. Все они выглядят одинаково в вашей программе рисования, так в чем же между ними разница? Что ж, движок использует формат изображения, чтобы решить, хранить ли изображения в низком качестве (16 бит = 2 байта) или в высоком качестве (24 бита = 3 байта или 32 бита = 4 байта). Изображения Pcx и bmp хранятся в 16-битном формате; это экономит ценную видеопамять, но не рекомендуется для классных прозрачных эффектов, таких как взрывы или спецэффекты - лучше использовать для них файлы tga.
Если вы зашли так далеко, вы могли бы подумать о себе одну из этих двух вещей:
а) Вы младший брат Эйнштейна;
b) Вы совсем запутались, значит, я паршивый учитель.
Если вы выбрали б) еще есть надежда! Позвольте мне показать вам содержимое файла script20.wdl:
Что делает спрайт зацикленным? Для программиста нет никаких ограничений, но вы должны убедиться, что последний кадр и первый кадр похожи (не идентичны); в противном случае вы увидите, что ваш цикл анимации выглядит не очень хорошо.
Давайте посмотрим на действие, связанное с «Правилами Acknex!» сначала спрайт:
действие acknex_loop
my.flare = on;
в то время как (1)
<
my.frame += 0.8 * time_step;
my.frame %= 30;
подождите (1);
>
>
"Правила Acknex!" у спрайта установлен флаг "flare"; это означает, что его более темные области станут более прозрачными, чем более яркие части, и от этого спрайт будет выглядеть лучше, даже если это не tga-спрайт. См. разницу ниже:
Вы можете видеть, что черный контур, присутствующий на втором изображении, исчез, потому что мы установили флажок "вспышка". Я почти уверен, что флаг «flare» не будет использоваться в будущих версиях движка, потому что а) он был реализован для старых файлов pcx или bmp, которые хранятся внутри с некачественной 16-битной глубиной цвета, и б) вы не Это не нужно, когда вы используете файлы tga для ваших спрайтов, которые визуализируются с высококачественной глубиной цвета 24 или 32 бита. «Блики» — это просто быстрый способ добавить низкокачественный альфа-канал к 16-битному изображению.
Вернемся к нашему действию; "Акнекс рулит!" воспроизводит свои кадры анимации в цикле while (1), что означает, что анимация запускается, как только мы запускаем движок, и заканчивается только тогда, когда мы выключаем движок. Мы увеличиваем кадр анимации, постоянно добавляя «0,8 * time_step» к текущему кадру анимации; поиграйте с 0.8, если вы хотите увеличить или уменьшить скорость анимации.
Даже если my.frame вырастет до 100, мы не сможем увидеть больше 29 кадров, потому что в нашем растровом изображении не больше кадров, верно? Вот где "my.frame %= 30;" line делает себя полезной: она ограничивает my.frame в этом диапазоне: 0,29, позволяя спрайту зацикливать свои кадры снова и снова. Мы узнали об операторе по модулю (%) на 14-м семинаре; возможно, вам захочется снова прочитать этот семинар, если вы забыли, как работает модуль.
Пришло время перейти к одноразовой анимации:
взрыв действия
my.ambient = 100;
my.bright = вкл.;
пока (key_e == off)
пока (my.frame
Спрайт взрыва имеет "окружающее" значение 100 и установлен его "яркий" флаг; нам пришлось использовать эти настройки, потому что взрыв должен выглядеть ярким, верно? На этот раз я создал файл tga, поэтому мне не нужно было устанавливать флаг «flare». Вы можете быть уверены, что эффект взрыва выглядит лучше, потому что у спрайта есть собственный альфа-канал, созданный в Paint Shop Pro 7.
Давайте рассмотрим следующую строку кода:
пока (key_e == выключено)
Эта строка указывает движку ждать, пока не будет нажата клавиша_e ("E" на нашей клавиатуре). Это означает, что следующий цикл терпеливо ждет, пока мы не нажмем клавишу "E":
пока (мой.кадр
Этот простой цикл увеличивает параметр "frame" для нашего спрайта взрыва до значения frame = 12 (у нашего спрайта взрыва всего 11 кадров). Еще раз, поиграйте с 0.7, если вы хотите увеличить или уменьшить скорость анимации. Анимация будет воспроизведена только один раз, а затем остановится - именно это и должна делать однократная анимация!
Подведем некоторые итоги:
- зацикленные спрайты нуждаются в цикле "пока (1)";
- одноразовым спрайтам требуется "пока (my.frame
- зацикленные спрайты нуждаются в "my.frame %= (number_of_frames + 1);" инструкция внутри их цикла "пока";
– одноразовым спрайтам не нужна строка кода, указанная выше, внутри цикла while.
a) Зацикленная анимация, спрайт имеет 5 кадров:
action looped_5
while (1)
my.frame += 1.5 * time_step; // 1,5 = скорость
my.frame %= 6; // 5 кадров анимации + 1
wait (1);
>
>
б) Однократная анимация, 10 кадров
action oneshot_10
while (my.frame
my.bright = включено;
my.transparent = включено;
my.ambient = 100;
в начале ваших действий; не стесняйтесь составлять комбинации из этих линий и сравнивать эффекты.
Читайте также: