Как подружить с зенкой SkiaSharp ?

selectel56

Client
Регистрация
11.12.2016
Сообщения
98
Благодарностей
48
Баллы
18
Хочу рисовать с помощью SkiaSharp в c# кубике, в визуал студио все работает, а тут ругается на зависимости каки то. Я так понял помимо SkiaSharp еще какие то правильные dllшки надо прикрутить ? Ребят, кто сможет помогите.

Сам код:

C#:
// Создаем новый белый Bitmap объект размером 600x800 пикселей
            using (var surface = SKSurface.Create(new SKImageInfo(600, 800)))
            {
                // Получаем объект Canvas для рисования
                var canvas = surface.Canvas;

                // Задаем цвет фона
                canvas.Clear(SKColors.White);

                    string fontPath = "d:/InterTight-Thin.ttf";
                var typeface = SKTypeface.FromFile(fontPath);

                // Задаем цвет и шрифт для текста
                var paint = new SKPaint
                {
                    Color = SKColors.Black,
                    TextSize = 18,
                    Typeface = typeface
                };

                // Определяем текст, который будем рисовать
                string text = "Тест текста";

                // Определяем ширину изображения
                int width = 550;

                // Определяем высоту строки
                int lineHeight = 20;

                // Определяем текущую позицию рисования
                int x = 10;
                int y = 30;

                // Разбиваем текст на слова
                string[] words = text.Split(' ');

                // Перебираем слова
                foreach (string word in words)
                {
                    // Измеряем ширину слова
                    float wordWidth = paint.MeasureText(word);

                    // Если ширина слова превышает ширину изображения, то переносим его на новую строку
                    if (x + wordWidth > width)
                    {
                        x = 10;
                        y += lineHeight;
                    }

                    // Рисуем слово на текущей позиции
                    canvas.DrawText(word, x, y, paint);

                    // Увеличиваем текущую позицию на ширину слова и пробел
                    x += (int)wordWidth + (int)paint.MeasureText(" ");
                }

                // Сохраняем изображение в файле d:/1.png
                using (var image1 = surface.Snapshot())
                {
                    using (var stream = new FileStream("d:/1.png", FileMode.Create))
                    {
                        var data = image1.Encode(SKEncodedImageFormat.Png, 100);
                        stream.Write(data.ToArray(), 0, (int)data.Size);
                    }
                }
            }
Может у кого получится запустить, скиньте в архив dll и тд, пожалуйста. Эта библиотека очень круто пишет текст на картинках, ну просто вау, а вот сустем дравинг всегда жирно рисует, ну оно и понятно кистями малюет, а тут на канвасе.
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 691
Баллы
113
в смысле какие то зависимости ? те что подключил в VS , те же и надо подключить в Зенке
вот у меня dll внешняя

105754


вот она в релизе.

105755


берешь из релиза и подключаешь все что надо в зенке.

надеюсь у тебя проект под .net 4.6.2 в VS создан... а то если нет, тебя ждет много сюрпризов ;-)
 
  • Спасибо
Реакции: selectel56 и Alex.A

radv

Client
Регистрация
11.05.2015
Сообщения
3 681
Благодарностей
1 864
Баллы
113
  • Спасибо
Реакции: selectel56

selectel56

Client
Регистрация
11.12.2016
Сообщения
98
Благодарностей
48
Баллы
18
в смысле какие то зависимости ? те что подключил в VS , те же и надо подключить в Зенке
вот у меня dll внешняя

Посмотреть вложение 105754

вот она в релизе.

Посмотреть вложение 105755

берешь из релиза и подключаешь все что надо в зенке.

надеюсь у тебя проект под .net 4.6.2 в VS создан... а то если нет, тебя ждет много сюрпризов ;-)
Также все и делаю, походу библиотека такая, не заводится ни в какую.
 

selectel56

Client
Регистрация
11.12.2016
Сообщения
98
Благодарностей
48
Баллы
18
Только вот и узнал, спасибо за наводку, буду тестировать, для меня главное шрифты чтобы рисовались идеально, SkiaSharp с этим отлично справлялся, уже думал свою DLL сделать на основе SkiaSharp и впихнуть в зенку))) так и не смог одолеть конфликт совместимости/зависимостей, хотя вроде все делал правильно.
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 681
Благодарностей
1 864
Баллы
113
не смог одолеть конфликт совместимости/зависимостей, хотя вроде все делал правильно.
уже думал свою DLL сделать на основе SkiaSharp и впихнуть в зенку)))
Можно сделать dll обертку над ней в нужной версии шарпа, и потом ее добавить в зенку через gac и юзинги
 

selectel56

Client
Регистрация
11.12.2016
Сообщения
98
Благодарностей
48
Баллы
18
Можно сделать dll обертку над ней в нужной версии шарпа, и потом ее добавить в зенку через gac и юзинги
Почему то после обертки опять выдавал те же ошибки что и без обертки, в общем смастерил exe с параметрами командной строки и передаю нужные параметры в exe через cmd, чтобы реализовать то что нужно, колхоз еще тот... но работает, правда в идеале данные в перменную должны были ложиться как результат, а теперь ложатся в файл на диске с указанным названием, чтобы получить данные :D :D :D, вы попробуйте может у вас получится, на досуге, там делов на 5 минут, но я бился сутки так и не смог, на буржуй форумах тоже много жалоб было на эту библиотеку. Попробовал я иную что выше библиотеку но она текст пишет со сглаживанием, так и не смог убрать сглаживание, а мне чисто пиксельно надо только чтобы текст писался черными пикселами без сглаждивания, а типа рядом серенькие и тд - так не надо, с этим SkiaSharp справляется просто супер, у него четко все.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)