当前位置:编程学习 > C#/ASP.NET >>

C# 北极光图片处理

问题:给控件设置一张背景图,控件的长度是可变的。怎么控制背景图左右两边的弧度不变。不变形处理。 图片变形处理 --------------------编程问答--------------------
该图为控件的背景图。求高手指教如何使控件在改变长度以后左右两边的弧度不变形。 --------------------编程问答-------------------- 我有思路是这样的。
当控件的长度发生变化时,设置控件背景,分三步。

第一:截取左边一部分给控件左边作为背景;
第二:截取图片右边部分给控件右边作为背景;
第三,截取图片中间部分给控件其余部分作为背景。

求高手指点。 --------------------编程问答-------------------- 就是9切图法了,图在程序中把4个角不拉伸绘制到目标控件4个角,然后4个边做向拉伸,中间的双向拉伸. --------------------编程问答--------------------
引用 3 楼 dylike 的回复:
就是9切图法了,图在程序中把4个角不拉伸绘制到目标控件4个角,然后4个边做向拉伸,中间的双向拉伸.


具体如何操作,我对GDI不熟悉。还请指点。 --------------------编程问答-------------------- 学习学习 --------------------编程问答-------------------- 左边一刀,右边一刀,中间平铺。 --------------------编程问答--------------------

        /// <summary>
        /// 截取背景图两边,中间填充
         /// </summary>
        public void SetBackGroundImage() 
        {
            this.BackgroundImage = null;
            Bitmap bit = new Bitmap(this.Width,this.Height);
            Graphics g = Graphics.FromImage(bit);
            g.DrawImage(Properties.Resources.pallet, new Rectangle(new Point(0, 0), new Size(107, Properties.Resources.pallet.Height)), new Rectangle(new Point(0, 0), new Size(107, Properties.Resources.pallet.Height)), GraphicsUnit.Pixel);
            g.DrawImage(Properties.Resources.pallet, new Rectangle(new Point(107, 0), new Size(Properties.Resources.pallet.Width - 107 - 107, Properties.Resources.pallet.Height)), new Rectangle(new Point(107, 0), new Size(107, Properties.Resources.pallet.Height)), GraphicsUnit.Pixel);
            g.DrawImage(Properties.Resources.pallet, new Rectangle(new Point(this.Width - 107, 0), new Size(107, Properties.Resources.pallet.Height)), new Rectangle(new Point(Properties.Resources.pallet.Width - 107, 0), new Size(Properties.Resources.pallet.Width - 107, Properties.Resources.pallet.Height)), GraphicsUnit.Pixel);

            this.BackgroundImage = bit;
        }




解决了,不过还是有点小问题。 --------------------编程问答-------------------- [精仿]QQ2013局域网通讯(10.30更新版-带最新版界面库)
直接用这里面的界面库,使用SkinButton自定义按钮控件里面的BackRectangle九宫区域属性即可解决 --------------------编程问答-------------------- 具体的可能暂时你无法理解,我加你QQ吧,我一边做一边解释给你,希望一次就会. --------------------编程问答--------------------
引用 9 楼 dylike 的回复:
具体的可能暂时你无法理解,我加你QQ吧,我一边做一边解释给你,希望一次就会.


我的QQ:382689696 求指教
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,