Re[6]: Конвертация метафайла в bmp
От: Wise_PingWin  
Дата: 02.11.11 10:28
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Wise_PingWin

А>Проблемы с искажением происходят, когда меняешь разрешение:

А>width и height — примерно 1/3 от meta.Width, meta.Height


А>
А>Rectangle rcSrc = new Rectangle(0, 0, meta.Width, meta.Height);
А>Rectangle rcDest = new Rectangle(0, 0, width, height);

А>graphics.SmoothingMode = SmoothingMode.None;
А>graphics.InterpolationMode = InterpolationMode.Low;
А>graphics.DrawImage(meta, rcDest, rcSrc, GraphicsUnit.Pixel); 
А>

А>и все текст уже поплыл.
А>Может проблема в emf, они экспортируются из Excell и хранятся в БД?

За качество текста отвечает свойство graphics.TextRenderingHint, но менять его надо при рисовании вектора. Если при экспорте из Excel вам доступны какие-то подобные настройки, то поищите что-то подобное там.

Если нет, то скорее всего используется значение по умолчанию : TextRenderingHint.SystemDefault. Я видел разные начертания текста по умолчанию в разных версиях Windows (в русской всегда убогий шрифт), так что может быть его можно поменять, только я не знаю где . Это не решит проблему с уже экспортированными графиками, но новые будут с читаемым текстом.

Если не выйдет, то придется извращаться. Например, нарисовать векторный образ на растровом такого же размера, а потом уже его нарисовать на уменьшенном. Но это как-то некрасиво совсем. Может еще стоит посмотреть на graphics.ScaleTransform(dx, dy)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.