Hidistro.UI.Web/API/CreatQRCode.cs

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

namespace Hidistro.UI.Web.API
{
    using System;
    using System.Drawing;
    using System.Drawing.Drawing2D;
    using System.Drawing.Imaging;
    using System.IO;
    using System.Web;
    using ThoughtWorks.QRCode.Codec;

    public class CreatQRCode : IHttpHandler
    {
        public static MemoryStream CombinImage(Image imgBack, Image img)
        {
            Bitmap image = new Bitmap(400, 0xc5);
            Graphics graphics = Graphics.FromImage(image);
            graphics.Clear(Color.Transparent);
            graphics.DrawImage(imgBack, 0, 0, imgBack.Width, imgBack.Height);
            graphics.DrawImage(img, 270, 0x34, 100, 100);
            MemoryStream stream = new MemoryStream();
            image.Save(stream, ImageFormat.Png);
            return stream;
        }

        public static Image KiResizeImage(Image bmp, int newW, int newH, int Mode)
        {
            try
            {
                Image image = new Bitmap(newW, newH);
                Graphics graphics = Graphics.FromImage(image);
                graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
                graphics.DrawImage(bmp, new Rectangle(0, 0, newW, newH), new Rectangle(0, 0, bmp.Width, bmp.Height), GraphicsUnit.Pixel);
                graphics.Dispose();
                return image;
            }
            catch
            {
                return null;
            }
        }

        public void ProcessRequest(HttpContext context)
        {
            string str = context.Request["code"];
            string str2 = context.Request["Finger"];
            string text1 = context.Request["Logo"];
            if (!string.IsNullOrEmpty(str))
            {
                Image imgBack = new QRCodeEncoder { QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE, QRCodeScale = 4, QRCodeVersion = 8, QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M }.Encode(str);
                MemoryStream stream = new MemoryStream();
                imgBack.Save(stream, ImageFormat.Png);
                if (!string.IsNullOrEmpty(str2) && (str2 == "true"))
                {
                    Image img = Image.FromFile(context.Server.MapPath("/templates/common/images/fingerprint.png"));
                    MemoryStream stream2 = CombinImage(imgBack, img);
                    context.Response.ClearContent();
                    context.Response.ContentType = "image/png";
                    context.Response.BinaryWrite(stream2.ToArray());
                    stream2.Dispose();
                }
后面还有 22 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。