SourceCode/RFrameGenerate.Common/QrCodeHelper.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using Gma.QrCodeNet.Encoding;
using Gma.QrCodeNet.Encoding.Windows.Render;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Linq;
using System.Web;
namespace RFrameGenerate.Common
{
public class QrCodeHelper
{
public static bool GenerationQrCode(string value, string text, string filename)
{
try
{
QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);
QrCode qrCode = qrEncoder.Encode(value);
GraphicsRenderer gRender = new GraphicsRenderer(new FixedModuleSize(15, QuietZoneModules.Four));
using (MemoryStream mstream = new MemoryStream())
{
gRender.WriteToStream(qrCode.Matrix, ImageFormat.Png, mstream, new Point(400, 400));
using (var img = Image.FromStream(mstream))
{
if (System.IO.Directory.Exists(Path.GetDirectoryName(filename)) != true)
System.IO.Directory.CreateDirectory(Path.GetDirectoryName(filename));
img.Save(filename);
//ImageWaterMarkText(img, filename, text, 7, 100, "宋体", 40);zhou 2016/4/15 屏蔽 越压缩越大
}
}
return true;
}
catch
{
return false;
}
}
public static void ImageWaterMarkText(Image img, string filename, string watermarkText, int watermarkStatus, int quality, string fontname, int fontsize)
{
Graphics g = Graphics.FromImage(img);
Font drawFont = new Font(fontname, fontsize, FontStyle.Regular, GraphicsUnit.Pixel);
SizeF crSize;
crSize = g.MeasureString(watermarkText, drawFont);
float xpos = ((float)img.Width * (float).50) - (crSize.Width / 2);
float ypos = ((float)img.Height * (float).99) - crSize.Height;
g.DrawString(watermarkText, drawFont, new SolidBrush(Color.Black), xpos, ypos);
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
ImageCodecInfo ici = null;
foreach (ImageCodecInfo codec in codecs)
{
后面还有 26 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。