国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

winfrom-圖片拆分成多塊

2019-11-11 00:13:06
字體:
來源:轉載
供稿:網友

先在panel容器(長寬為300)中繪制一個宮格,比如下面這樣:

PRivate void Form1_Load(object sender, EventArgs e)        {            this.InitRandomPictureBox();        }                private void InitRandomPictureBox()        {            this.pnl_Random.Controls.Clear();            for (int i = 0; i < this.ImgNumbers; i++)            {                for (int j = 0; j < this.ImgNumbers; j++)                {                    PictureBox pic = new PictureBox();                    pic.Location = new Point(j * this.SideLength, i * this.SideLength);                    pic.Size = new Size(this.SideLength, this.SideLength);                    pic.Visible = true;                    pic.BorderStyle = BorderStyle.FixedSingle;                    this.pnl_Random.Controls.Add(pic);                }            }        }
/// <summary>        /// 每個方向上要切割成的塊數        /// </summary>        private int ImgNumbers        {            get            {                return 3;            }        }        /// <summary>        /// 要切割成的正方形圖片邊長        /// </summary>        private int SideLength        {            get            {                return 300 / this.ImgNumbers; //300:panel容器大小            }        }//圖片切割:
/// <summary>        /// 將圖片切割成小圖片,圖片順序為先水平后垂直        /// </summary>        /// <param name="cx">水平方向多少個圖片</param>        ///<param name="cy">垂直方向多少個圖片</param>        public static Image[] SplitToSmallImages(this Image fromImage, int cx, int cy)        {            Image[] imgs = new Image[cx * cy];            int nWidth = fromImage.Width / cx;            int nHeight = fromImage.Height / cy;            Bitmap image = new Bitmap(nWidth, nHeight);            Graphics graphics = Graphics.FromImage(image);            for (int i = 0; i < cy; i++)            {                for (int j = 0; j < cx; j++)                {                    graphics.DrawImage(fromImage, 0, 0, new Rectangle(j * nWidth, i * nHeight, nWidth, nHeight), GraphicsUnit.Pixel);                    Image img = Image.FromHbitmap(image.GetHbitmap());                    int idx = j + i * cx;                    img.Tag = idx;                    imgs[idx] = img;                }            }            return imgs;        }將切好的圖片隨機排序然后放入到容器中:
var tmp = this._splitImages.OrderBy(p => Guid.NewGuid()).ToList();            for (int i = 0; i < tmp.Count; i++)            {                this._splitPictureBoxes[i].Image = tmp[i];            }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 博野县| 金沙县| 汉寿县| 郁南县| 娄底市| 沙河市| 方山县| 龙泉市| 航空| 宜都市| 绥中县| 镇江市| 鹤壁市| 四会市| 山东| 黄山市| 通州市| 鄂尔多斯市| 尼木县| 岗巴县| 英山县| 三河市| 揭东县| 稷山县| 中山市| 安塞县| 探索| 开原市| 五华县| 沈丘县| 天全县| 琼结县| 翁源县| 信阳市| 沂源县| 油尖旺区| 洛南县| 涿州市| 黄平县| 辽阳市| 灌南县|