为了账号安全,请及时绑定邮箱和手机立即绑定

图片上传并转成灰白图片

标签:
前端工具

这是以前做webim时写的上传用户头像时要生成离线状态的图片,即黑白图片的代码

函数代码如下:

 

Code
public void MakeSmallImg(string fileName, string saveImg, Rectangle OutputArea,bool toBlackWhite)
        {
            System.Drawing.Image ImageDemo = System.Drawing.Image.FromFile(fileName, true);

            System.Drawing.Bitmap OutputImage = new System.Drawing.Bitmap(OutputArea.Width, OutputArea.Height);

            System.Drawing.Graphics MapGraphy = System.Drawing.Graphics.FromImage(OutputImage);

            MapGraphy.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;

            MapGraphy.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
            MapGraphy.Clear(System.Drawing.Color.White);
            if (toBlackWhite)
            {
                ColorMatrix _matrix = new ColorMatrix();
                _matrix[0, 0] = 1 / 3f;
                _matrix[0, 1] = 1 / 3f;
                _matrix[0, 2] = 1 / 3f;
                _matrix[1, 0] = 1 / 3f;
                _matrix[1, 1] = 1 / 3f;
                _matrix[1, 2] = 1 / 3f;
                _matrix[2, 0] = 1 / 3f;
                _matrix[2, 1] = 1 / 3f;
                _matrix[2, 2] = 1 / 3f;
                ImageAttributes _attributes = new ImageAttributes();
                _attributes.SetColorMatrix(_matrix);
                MapGraphy.DrawImage(ImageDemo, OutputArea, 0, 0, ImageDemo.Width, ImageDemo.Height, GraphicsUnit.Pixel, _attributes);
            }
            else
            {
                MapGraphy.DrawImage(ImageDemo, OutputArea);
            }
            OutputImage.Save(saveImg, System.Drawing.Imaging.ImageFormat.Bmp);

            MapGraphy.Dispose();
            OutputImage.Dispose();
            ImageDemo.Dispose();
        }

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消