コード例 #1
0
        public void DrawImage(Image image, Rectangle destRect, int srcX, int srcY, int srcWidth, int srcHeight)
        {
            if (image == null)
            {
                return;
            }

            XmlElement element = Dom.CreateElement("image");

            element.SetAttribute("x", destRect.X.ToString());
            element.SetAttribute("y", destRect.Y.ToString());
            element.SetAttribute("width", destRect.Width.ToString());
            element.SetAttribute("height", destRect.Height.ToString());

            XmlAttribute href = Dom.CreateAttribute("xlink", "href", "http://www.w3.org/1999/xlink");

            if (srcX != 0 || srcY != 0 || srcWidth != image.Width || srcHeight != image.Width)
            {
                using (var slice = PaintHelper.CutImage(image, srcX, srcY, srcWidth, srcHeight))
                {
                    href.Value = "data:image/png;base64," + ST.ImageBase64String(slice);
                }
            }
            else
            {
                href.Value = "data:image/png;base64," + ST.ImageBase64String(image);
            }
            element.Attributes.Append(href);
            AppendElement(element);
        }