none
pictureBox使用url图片 如何不下载到本地 绘制圆角可以圆滑无锯齿? RRS feed

  • 问题

  •         private void button1_Click(object sender, EventArgs e)
            {
                pictureBox1.Image = GetRoundPic(2000);
            }
            public static Bitmap GetRoundPic(int size)
            {
                Image img = new Bitmap(@"C:\Users\8888\Desktop\Picture\13.jpg");
                
                Bitmap bm = new Bitmap(size, size);
                Graphics g = Graphics.FromImage(bm);
                
                GraphicsPath gpath = new GraphicsPath();
                gpath.AddEllipse(0, 0, size, size);                                             
                g.SmoothingMode = SmoothingMode.AntiAlias; 
                g.InterpolationMode = InterpolationMode.HighQualityBicubic;
                g.CompositingQuality = CompositingQuality.HighQuality;
    
                g.SetClip(gpath);
               
                g.DrawImage(img, 0, 0);           
                return bm;
            }

    上面是本地图片绘制的方法  非常感谢 版主Hart Wang  但是我很多图片的地址 都是使用pictureBox的 ImageLocation 填充的

    Image img = new Bitmap(@"C:\Users\8888\Desktop\Picture\13.jpg");

    图片要是网络URL 的 http 地址怎么改呢?我试过提示我是不支持URL的 例如:

    https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/logo_white.png

    2017年11月29日 6:12

答案

  • Hi ylzl,

    >>图片要是网络URL 的 http 地址怎么改呢?

    如果你想要获取网上的图片,那么是不能简单的将Bitmap()参数改为URL的,你需要通过WebRequest类来访问来自于web的图片,所以请将:

        Image img = new Bitmap(@"C:\Users\8888\Desktop\Picture\13.jpg");

    更改为:

        Image img = Image.FromStream(WebRequest.Create("http://......12.jpg").GetResponse().GetResponseStream());

    当然,对于不同尺寸的图片,你仍然需要更改GetRoundPic()的参数Size来满足你的需求:

        pictureBox1.Image = GetRoundPic(2000);

    Regards,

    Stanly


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年11月30日 1:24