Как мне построить объект, который хранит картинки? - PullRequest
1 голос
/ 16 февраля 2009

Если бы вы строили объект для хранения фотографии (для такой программы, как фотошоп), как бы вы ее проектировали? Какие свойства вы бы приняли во внимание?

Ответы [ 3 ]

2 голосов
/ 16 февраля 2009

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

Кроме того, я бы рассмотрел какой-то механизм произвольного тегирования и посмотрел на механизмы тегирования, которые уже существуют в JPEG.

Возможно, вы захотите взглянуть на EXIF ​​, один из стандартов тегирования, чтобы получить некоторые идеи для свойств. Однако все время изобретаются новые, поэтому вместо того, чтобы иметь свойство для каждой возможности, для вашего объекта может быть лучше более общая структура на основе карты.

0 голосов
/ 16 февраля 2009

Как предполагает @Nick, некоторая информация, которую вы намереваетесь сохранить, может быть уже доступна через информацию тега EXIF ​​в зависимости от формата вашего файла. Кроме того, прежде чем подробно остановиться на свойствах указанного изображения, было бы полезно определить контекст, в котором используется объект изображения.

Однако, некоторые общие свойства изображения, которые приходят на ум:

  • Название
  • Ключевые слова / поисковые строки
  • Описание
  • Информация об авторе
  • Дата создания
  • Формат файла
  • Ширина
  • высота
  • Местонахождение / Источник / URL
  • Разрешение (по горизонтали / вертикали) в dpi
  • Глубина в битах
  • Количество слоев
  • Количество цветов

... и т. Д.

0 голосов
/ 16 февраля 2009

Вы должны принять во внимание формат пикселя (сколько битов и как они назначены) и цветовую схему (RGB, RGBA, CYMK, ...). Вам также следует подумать о том, хранить ли его полностью в объекте или лучше хранить его на диске и при необходимости менять местами (обычно вы не показываете все изображение в программе, такой как Photoshop), поскольку изображения могут большой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...