图片操作(裁剪,压缩)

/// <summary> /// Resize图片 /// </summary> /// <param name="bmp">原始Bitmap </param> /// <param name="newW">新的宽度</param> ...
摘要由CSDN通过智能技术生成
  /// <summary>  
        ///  Resize图片   
        /// </summary>  
        /// <param name="bmp">原始Bitmap </param>  
        /// <param name="newW">新的宽度</param>  
        /// <param name="newH">新的高度</param>  
        /// <param name="Mode">保留着,暂时未用</param>  
        /// <returns>处理以后的图片</returns>  

        public static Bitmap ResizeImage(Bitmap bmp, int newW, int newH, int Mode)
        {
            try
            {
                Bitmap b = new Bitmap(newW, newH);
                Graphics g = Graphics.FromImage(b);
                // 插值算法的质量   
                g.InterpolationMode = InterpolationMode.HighQualityBicubic;
                g.DrawImage(bmp, new Rectangle(0, 0, newW, newH), new Rectangle(0, 0, bmp.Width, bmp.Height), GraphicsUnit.Pixel);
                g.Dispose();
                return b;
            }
            catch
            {
                return null;
            }
        }
        /// <summary>  
        /// 剪裁 -- 用GDI+   
        /// </summary>  
        /// <param name="b">原始Bitmap</param>  
        /// <param name="StartX">开始坐标X</param>  
        /// <param name="
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Excel VBA中,可以使用以下代码来自动压缩、删除、裁剪图片: 首先,如果要进行图片操作,需要在VBA编辑器中启用Microsoft PowerPoint和Microsoft PowerPoint对象库。在VBA编辑器中,点击"工具",然后选择"引用",勾选上"Microsoft PowerPoint"和"Microsoft PowerPoint对象库",然后点击"确定"。 下面是一个示例代码,将其放置在一个按钮的点击事件中: ``` Sub AutoCompressDeleteCrop() Dim picture As Shape Dim slide As Slide Dim pptApp As PowerPoint.Application Dim pptPres As PowerPoint.Presentation ' 创建一个PowerPoint应用程序对象 Set pptApp = New PowerPoint.Application ' 创建一个新的演示文稿 Set pptPres = pptApp.Presentations.Add ' 循环处理活动工作表中的所有图片 For Each picture In ActiveSheet.Shapes ' 将图片复制到PowerPoint演示文稿 Set slide = pptPres.Slides.Add(pptPres.Slides.Count + 1, ppLayoutBlank) picture.Copy slide.Shapes.Paste ' 压缩图片 slide.Shapes(slide.Shapes.Count).PictureFormat.Compression = 80 ' 删除原始图片 picture.Delete ' 裁剪图片 slide.Shapes(slide.Shapes.Count).PictureFormat.CropLeft = 10 slide.Shapes(slide.Shapes.Count).PictureFormat.CropTop = 10 slide.Shapes(slide.Shapes.Count).PictureFormat.CropRight = 10 slide.Shapes(slide.Shapes.Count).PictureFormat.CropBottom = 10 Next picture ' 显示PowerPoint应用程序窗口 pptApp.Visible = True ' 清空对象 Set pptApp = Nothing Set pptPres = Nothing End Sub ``` 这段代码将从活动工作表中的每个图片进行以下操作: 1. 将图片复制到一个新的PowerPoint演示文稿中。 2. 压缩图片的质量。 3. 删除原始的Excel图片。 4. 对图片进行裁剪。 请注意,这段代码假设只有图片对象在工作表中。如果工作表中还有其他对象,可能会引发错误。如果遇到此问题,您可以使用条件语句或循环语句来检查每个对象的类型,在必要时跳过非图片对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值