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

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

winfrom-圖片拆分成多塊

2019-11-11 00:04:22
字體:
來源:轉載
供稿:網友

先在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];            }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜昌市| 界首市| 桃园市| 镇平县| 普宁市| 高淳县| 轮台县| 体育| 鹤壁市| 定南县| 绍兴县| 措美县| 宁国市| 荣成市| 湛江市| 综艺| 延川县| 靖边县| 贵阳市| 临桂县| 新巴尔虎右旗| 太白县| 兴义市| 英德市| 拉萨市| 霍州市| 兴文县| 科技| 伽师县| 湖北省| 友谊县| 广元市| 丹凤县| 宜丰县| 扬州市| 高平市| 淮阳县| 双流县| 招远市| 大英县| 册亨县|