Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, 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)