отрисовка изображений в программе
От: pumpurumer  
Дата: 07.08.08 17:48
Оценка:
собсвенно говоря задача:
взять шаблон (главная задача чтобы координаты элементов шаблона можно было задавать дробной велечиной, те двигать элементы шаблона на расстояние от одного пикселя), затем в этот шаблон подставлять некоторые текстовые значение и выводить на экран.
пути решения:
отрисовывать всю картинку через System.Drawing по отдельности каждый элемент, всмысе DrawLine,DrawString and etc...
взять нарисовать векторную картинку, загрузить ее, а места под текст опятьже отрисовывать через DrawString по координатом.
нарисовать форму, а затем зделать из нее картинку (тут проблема с точностью, см постановку задачи)

кто што придложит для решения?
хотелось бы создать шаблон в каком-то готовом редакторе, зацепить его в коде и передовать только значение текстовых полей...

07.08.08 21:53: Перенесено модератором из '.NET' — AndrewVK
Re: отрисовка изображений в программе
От: akarinsky Россия  
Дата: 07.08.08 20:30
Оценка:
Здравствуйте, pumpurumer, Вы писали

Идеальный вариант для таких случаев — EMF (Enchanced MetaFile), суть векторный формат.
Если точнее, то это запись последовательности команд GDI, которую можно распарсить и к которой можно применить
пространственные трансформации.
Кроме того, EMF можно редактировать в CorelDraw, AutoCAD и некоторых других векторных редакторах.
Удачи
На опушке за околицей мужики строили коровник.
Работали споро и весело. Получалось х**во.
Re[2]: парсинг emf
От: pumpurumer  
Дата: 09.08.08 14:16
Оценка:
нагуглил пример навешивания собсвенной функции в обработчик записей emf файла, все

private bool MetafileCallback(
EmfPlusRecordType recordType,
int flags,
int dataSize,
IntPtr data,
PlayRecordCallback callbackData)
{
int i = 0;
byte[] dataArray = null;
if (data != IntPtr.Zero)
{
// Copy the unmanaged record to a managed byte buffer
// that can be used by PlayRecord.
dataArray = new byte[dataSize];
Marshal.Copy(data, dataArray, 0, dataSize);
}
metafile1.PlayRecord(recordType, flags, dataSize, dataArray);
return true;
}
все бы нечего, только в dataArray ничего похожего на строки текста из картинки чето нету. а фича нифига недокументирована, поделитесь опытом кто может?

A>Здравствуйте, pumpurumer, Вы писали


A>Идеальный вариант для таких случаев — EMF (Enchanced MetaFile), суть векторный формат.

A>Если точнее, то это запись последовательности команд GDI, которую можно распарсить и к которой можно применить
A>пространственные трансформации.
A>Кроме того, EMF можно редактировать в CorelDraw, AutoCAD и некоторых других векторных редакторах.
A>Удачи
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.