Я обычно использую gif's из-за размера, но существует также png-8, который является 256 цветами также.
, Если Вы должны полагать, полупрозрачный материал тогда использует png-24.
я обычно использую, 'сохраняют для веб-' функции в фотошопе, который позволяет Вам играть с типом файла, количеством цветов и т.д. и видеть результат перед сохранением. Конечно, я использовал бы самое маленькое, которое все еще выглядит хорошим в моих глазах.
Не совсем ответ, но вопросы; -)
По умолчанию (поскольку точка является геометрией) установлено значение 0, и вы получите ошибку SQL при попытке сохранить свойство LocationLog.Location в качестве географии. 0 не является допустимым SRID для полей географии sql. Вам нужно будет указать один из представлений sys.spatial_reference_systems.
Чтобы исключить как можно больше компонентов из проблемы.
Стив прав, вам нужно явно установить SRID для вашего типа геометрии. Глядя на исходный код NHibernate.Spatial (который вы можете проверить с помощью SVN или чего-то еще), при поиске SRID это скрывается в коде как подсказка в комментарии:
<class name="MyGeoTableA">
<property name="MyGeoColumn">
<type name="NHibernate.Spatial.Type.GeometryType, NHibernate.Spatial">
<param name="srid">1234</param>
</type>
</property>
</class>
Похоже, вам нужно установить параметр с именем SRID на любой номер, который вам нужен (найдите его в таблице SRID). Очевидно, это конфигурация XML старой школы, но у fluent будет где-нибудь метод для добавления строковых параметров ключ / значение. Попробуйте.
Edit
После небольшого исследования я обнаружил, что при попытке установить атрибут srid в столбце не удалось проверить правильность отображения XML NHibernate, возникает исключение XmlSchemaValidationException. Вместо этого я обнаружил, что типы геометрии в NetNopologySuite имеют атрибут SRID на самом объекте, и установка этого заставляет все работать. например,
LocationLog log = new LocationLog { Location = new Point() };
log.Location.SRID = 4326;
Session.Save(log);
Должен быть способ сделать это лучше (настроить его вместо постоянной настройки), но я еще не придумал этого. Если вы заглянете внутрь класса MsSql2008GeometryType, у него есть защищенный метод SetDefaultSRID (IGeometry) - он должен быть там по какой-то причине!