c#实现把汉字转为带田字格背景的jpg图片

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Drawing;
using System.IO;

namespace 文字图片生成程序
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
       static void checkdir()
        {
            string path="C:\\Users\\Default\\tran";
            if (!Directory.Exists(path))//判断目录是否存在
            {
                Directory.CreateDirectory(path);
            }
        }
        [STAThread]
        static void Main()
        {
            Program.checkdir();
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());

}

}
    class Program1
    {
        private float hor=0.46f;//
        public static string src = null;
        public void setting(float[] z)
        {
            this.hor = z[5];//文字比例

//线条比例
            //虚线比例
            //粗细比例
            //上下位置
            //左右位置
            //边框边界  bool
        }
        public void CreateImage(string lf,string content,int w,Color gezi,Color bg,Color ziti_a,Color ziti_b,string ziti,bool flag_b)
        {

Font font;
            //创建一个位图对象
            Bitmap image = new Bitmap(w, w);
            //创建Graphics
            Graphics g = Graphics.FromImage(image);
            try
            {
                //清空图片背景颜色
                g.Clear(bg);
                if (!flag_b)
                    font = new Font(ziti, w * 0.65f);
                else
                    font = new Font(ziti, w * 0.65f, (FontStyle.Bold));
                System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), ziti_a, ziti_b, 4.0f, true);
                //画图片的边框线
                g.DrawRectangle(new Pen(gezi, w * 0.007f), w * 0.03f, w * 0.03f, w * 0.94f, w * 0.94f);
                //画虚线
                Pen pen1 = new Pen(gezi, w * 0.007f);
                pen1.DashStyle = System.Drawing.Drawing2D.DashStyle.Custom;
                pen1.DashPattern = new float[] { w * 0.012f, w * 0.008f };
                g.DrawLine(pen1, w * 0.03f, w * 0.03f, w * 0.97f, w * 0.97f);
                g.DrawLine(pen1, w * 0.97f, w * 0.03f, w * 0.03f, w * 0.97f);
                g.DrawLine(pen1, w * 0.03f, w * 0.5f, w * 0.97f, w * 0.5f);
                g.DrawLine(pen1, w * 0.5f, w * 0.03f, w * 0.5f, w * 0.97f);
                StringFormat sf = new StringFormat();
                sf.Alignment = StringAlignment.Center;
                sf.LineAlignment = StringAlignment.Center;

g.DrawString(content, font, brush, w*hor, w * 0.63f, sf);
                src = lf + content + ".jpg";

image.Save(src);

}
            finally
            {
                g.Dispose();
                image.Dispose();
            }
        }

}

}

(0)

相关推荐

  • C#怎么给PDF添加背景图片

    今天要实现的是给PDF文件添加图片背景这个功能.PDF是近年来最流行的文件之一,无论是办公还是日常生活中都经常会用到,很多时候,PDF文件的背景色都是白色,看多了难免觉得累,更换PDF的背景不仅可以让眼睛看起来更舒服,还可以让PDF文件看上去更美观.如何实现?作为一名程序猿,当然要亲自"操刀上阵",这篇文章我主要写的是如何使用C# 给PDF文件添加图片背景. 这是我准备的PDF文件: 代码使用: 第一步:创建一个Visual C#控制台项目,添加引用并使用命名空间. using Sys

  • C#使用iTextSharp设置PDF所有页面背景图功能实例

    本文实例讲述了C#使用iTextSharp设置PDF所有页面背景图功能的方法.分享给大家供大家参考.具体如下: 在生成PDF 的时候,虽然可以在页面中设置背景图. 但有些内容过长夸页面的时候,就很难设置背景图,变成了空白背景的页面! 以下是重新生成每一页 PDF 背景图功能代码! public void SetPdfBackground(string pdfFilePath) { //重新生成的 PDF 的路径 string destFile = HttpContext.Current.Serv

  • c#实现把汉字转为带田字格背景的jpg图片

    复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using System.Windows.Forms;using System.Drawing;using System.IO; namespace 文字图片生成程序{    static class Program    {        /// <summary>        ///

  • JS实现带圆弧背景渐变效果的导航菜单代码

    本文实例讲述了JS实现带圆弧背景渐变效果的导航菜单代码.分享给大家供大家参考.具体如下: 这是一款效果个性的JS+CSS导航菜单,鼠标经过时出现有趣弧形背景,实际上,这里用CSS调用了背景,用JavaScript控制了背景的移动,用jQuery实现过类似的功能,整体感觉很不错. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-css-cicle-cha-nav-menu-demo/ 具体代码如下: <!DOCTYPE html PUBLIC

  • Java用自带的Image IO给图片添加水印

    1.  文字水印 import sun.font.FontDesignMetrics; import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; /** * @Author ChengJianSheng * @Date 2

  • jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果

    复制代码 代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>jquery图片滚动仿QQ商城带左右按钮控制焦点图片切换滚动</title> <meta name="description" cont

  • js带前后翻页的图片切换效果代码分享

    本文实例讲述了javascript带前后翻页的图片切换效果.分享给大家供大家参考.具体如下: 这是一款基于javascript带前后翻页的图片切换效果代码,实现过程很简单. 运行效果图: -------------------查看效果------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. 在head区域引入CSS样式: <link href="css/css.css" rel="stylesheet" type=&qu

  • jquery实现带缩略图的全屏图片画廊效果实例

    本文实例讲述了jquery实现带缩略图的全屏图片画廊效果.分享给大家供大家参考.具体如下: 运行效果如下图所示: 主要代码如下: (function($) { $.fn.preload = function(options) { var opts = $.extend({}, $.fn.preload.defaults, options); o = $.meta ? $.extend({}, opts, this.data()) : opts; var c = this.length, l =

  • jQuery带进度条全屏图片轮播特效代码分享

    本文实例讲述了jQuery带进度条全屏图片轮播特效.分享给大家供大家参考.具体如下: jQuery实现的带进度条转接全屏图片轮播效果是一款基于jQuery实现的oppo手机官网首页带进度条全屏图片轮播特效代码,实现效果大气,简洁大方 运行效果图:                  -------------------查看效果 下载源码------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. (1)在head区域引入CSS样式: link rel="sty

  • vue中使用带隐藏文本信息的图片、图片水印的方法

    一.带隐藏文本信息的图片 通过RGB 分量值的小量变动,不影响对图片的识别.因此,我们可以在图片加入文字信息. 最终达到如下效果: 首先,在该组件中加入img用于显示图片 <canvas ref="canvas" v-show="0"></canvas> <img :src="imageUrl" v-if="imageUrl"/> 调用方法 encryptionImg({ width = '

  • 图片动画横条广告带上下滚动可自定义图片、链接等等

    可以自定义广告的图片.链接.长.宽等.光标移到图片上会出现左右箭头. 以下是HTML文件代码: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtm

  • Android带进度条的下载图片示例(AsyncTask异步任务)

    为什么要用异步任务? 在Android中只有在主线程才能对ui进行更新操作,而其它线程不能直接对ui进行操作 android本身是一个多线程的操作系统,我们不能把所有的操作都放在主线程中操作 ,比如一些耗时操作.如果放在主线程中 会造成阻塞 而当阻塞事件过长时 系统会抛出anr异常.所以我们要使用异步任务.android为我们提供了一个封装好的组件asynctask. AsyncTask可以在子线程中更新ui,封装简化了异步操作.适用于简单的异步处理.如果多个后台任务时就要使用Handler了

随机推荐