コード例 #1
0
        private string CreateImage(string message, double size)
        {
            var col       = size * 0.575;
            var row       = size;
            var lineArray = message.Split('\n');

            var width  = (lineArray.Select(_ => _.Length).Max() * col);
            var height = lineArray.Length * row;

            var bufferCanvas = new HTMLCanvasElement()
            {
                Width = _resolution.Clamp(width), Height = _resolution.Clamp(height)
            };
            var bufferContext = bufferCanvas.GetContext(CanvasContext2DType.CanvasRenderingContext2D);

            double colAmount = 0;
            double rowAmount = 0;

            foreach (var line in lineArray)
            {
                foreach (var letter in line)
                {
                    DrawLetter(letter, size, colAmount, rowAmount, bufferContext);
                    colAmount += col;
                }
                rowAmount += row;
                colAmount  = 0;
            }

            return(bufferCanvas.ToDataURL());
        }
コード例 #2
0
        public WebImage(HTMLCanvasElement canvas, PointF center)
        {
            HTMLImageElement image = new HTMLImageElement();

            image.Src = canvas.ToDataURL();
            Image     = image;

            Width  = (int)canvas.Width;
            Height = (int)canvas.Height;
            Center = center ?? new PointF((Width / 2f), Height / 2f);

            Image = image;
        }
コード例 #3
0
ファイル: Exten.cs プロジェクト: exelix11/Yata-online
 public static string ToDataUrl(this ImageData img)
 {
     HTMLCanvasElement tmp = new HTMLCanvasElement();
     ((CanvasRenderingContext2D)tmp.GetContext("2d")).PutImageData(img, 0, 0);
     return tmp.ToDataURL();
 }