zoukankan      html  css  js  c++  java
  • 二维码_(二)分割与读取

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Collections;
    using System.Drawing.Imaging;

    namespace FrmImage
    {
        public partial class FrmImage1 : Form
        {
            public FrmImage1()
            {
                InitializeComponent();
            }
            public static bool values = false;
            public string file = "";
            private void button1_Click(object sender, EventArgs e)
            {
               
                OpenFileDialog openpic1 = new OpenFileDialog();
                if (openpic1.ShowDialog() == DialogResult.OK)
                {
                    pictureBox1.Image = Image.FromFile(openpic1.FileName);
                    file = openpic1.FileName;
                }
            }

            private void button2_Click(object sender, EventArgs e)
            {
                ImageManager.Cut(file, 181, 181, @"D:/", ".jpg");
                if (values == true)
                {
                    this.lblUrlName.Text = "操作成功";
                }
                else
                {
                    this.lblUrlName.Text = "操作失败";
                }
            }

            private void btnReader_Click(object sender, EventArgs e)
            {
                FrmImageReader fir = new FrmImageReader();
                this.Hide();
                fir.Show();
            }

            public class ImageManager
            {
                public static void Cut(string url, int widtch, int height, string savePsath, string fileExt)
                {
                    try
                    {
                        Bitmap bitmap = new Bitmap(url);
                        Decimal MaxRow = Math.Ceiling((Decimal)bitmap.Height / height);
                        Decimal MaxColumn = Math.Ceiling((decimal)bitmap.Width / widtch);
                        for (decimal i = 0; i < MaxRow; i++)
                        {
                            for (decimal j = 0; j < MaxColumn; j++)
                            {
                                string filename = i.ToString() + "," + j.ToString() + "," + fileExt;
                                Bitmap bmp = new Bitmap(widtch,height);
                                for (int offsetX = 0; offsetX < widtch; offsetX++)
                                {
                                    for (int offsetY = 0; offsetY < height; offsetY++)
                                    {
                                        if (((j * widtch + offsetX)< bitmap.Width)&& ((i * height+offsetY)<bitmap.Height))
                                        {
                                            bmp.SetPixel(offsetX,offsetY,bitmap.GetPixel((int)(j * widtch + offsetX),
                                                (int)(i * height + offsetY)));
                                        }
                                    }
                                }
                                //Graphics g = Graphics.FromImage(bmp);
                                //g.DrawString("添加水印", new Font("黑体", 20), new SolidBrush(Color.FromArgb(70, Color.WhiteSmoke)), 60, height/2);
                                ImageFormat format = ImageFormat.Png;
                                switch (fileExt.ToLower())
                                {
                                    case"png":
                                        format = ImageFormat.Png;
                                        break;
                                    case"bmp":
                                        format = ImageFormat.Bmp;
                                        break;
                                    case"gif":
                                        format = ImageFormat.Gif;
                                        break;
                                }
                                bmp.Save(savePsath + "//" + filename, format);
                            }
                        }
                        values = true;
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        values = false;
                    }
                }
            }
        }
    }

  • 相关阅读:
    python __path__ 变量
    mysql-5.7.9 shutdown 语法详解
    scikit-learn随机森林调参小结
    supervisor安装部署文档和管理实例
    随机森林种类及区别--g1
    决策树算法原理--good blog
    各种排序算法的时间复杂度
    【Django2.0】python manage.py makemigrations 和 python manage.py migrate的区别
    使用Apollo做配置中心
    lock in share mode 和 select for update
  • 原文地址:https://www.cnblogs.com/Adonia/p/3887113.html
Copyright © 2011-2022 走看看