Я хочу вызвать собственный метод gdi + для улучшения производительности текстового чертежа. Может ли кто-нибудь представить пример? Я нашел следующий код из исходного источника. Я хочу использовать этот метод в C# для повышения производительности. Как я могу достичь этого?Как вызвать метод GDipDrawString в C#
[DllImport(ExternDll.Gdiplus, SetLastError=true, ExactSpelling=true,
CharSet = System.Runtime.InteropServices.CharSet.Unicode)] // 3 = Unicode
[ResourceExposure(ResourceScope.None)]
internal static extern int GdipDrawString(HandleRef graphics,
string textString, int length, HandleRef font,
ref GPRECTF layoutRect, HandleRef stringFormat, HandleRef brush);
Я не знаю, как создать объект для HandleRef
класса. Пожалуйста, предложите мне это?
В настоящее время я использую следующий код, чтобы нарисовать строку.
Graphics.DrawString(text, font, brush, rect, format);
Держу пари, что есть что-то еще в вашем коде, который делает вещи медленно. Поделитесь этим кодом с нами, чтобы получить справку. Graphics.DrawString действительно полезен только для печати, в противном случае используйте TextRenderer.DrawText. – LarsTech
Просьба указать ссылку на то, где у вас есть пример склонения, который поможет нам показать вам, где определен HandleRef. Кроме того, я согласен с Ларсом, я сомневаюсь, что это сделает его намного быстрее. Покажите код, который вы вызываете Graphics.DrawString, есть, вероятно, более быстрые способы делать то, что вы пытаетесь сделать. –
У меня есть собственный код win32 GDI + из следующей ссылки http://referencesource.microsoft.com/#System.Drawing/commonui /System/Drawing/Advanced/Gdiplus.cs,15ca78ad12cd45eb, –