图片的裁剪

通过对PictureFormat 对象(微软链接)的以下属性的设置可以裁剪图片或者获取图片的裁剪值。裁剪单位为**“磅”**

属性裁剪方向读/写
CropTop从上方读/写
CropBottom从下方读/写
CropLeft从左方读/写
CropRight从右方读/写

以下代码可以从各个方向裁剪图片10磅

	Set myDocument = Worksheets(1) 
	With myDocument.Shapes(1).PictureFormat 
		.CropTop=10
	 	.CropBottom = 10
	 	.CropLeft=10
	 	.CropRight=10
	end with

以下代码可以获取图片的裁剪值

	Set myDocument = Worksheets(1) 
	With myDocument.Shapes(1).PictureFormat 
		msgbox .CropTop
	 	msgbox .CropBottom 
	 	msgbox .CropLeft
	 	msgbox .CropRight
	end with

在实际运用中,以下文章中的代码可以通过对选择一张已经裁剪过的图片作为样本,对工作表图片进行批量裁剪,同时将裁减好的图片放置到当前图片所在单元格左上角第一个单元格中,并设置图片大小自动适配单元格大小。
对工作表图片进行批量裁剪
·························································································································································
此外,还可以利用 PictureFormat 对象的 .Crop 属性实现图片裁剪,但是其方法较为复杂。
注: Crop 的属性情直接参考下方代码

下面的示例将一个 200 x 200 图像插入到Excel中。 然后, 它将图文框中的图像大小调整为 100 x 100,图像框架保持200 x 200 大小。 然后调整图像框架为 100 x 100,再移动图像框架的相对位置。在此期间,图像与图像框架为两个独立的对象进行位置的移动。

Sub CropImage()
  With ActiveSheet
    .Shapes.AddPicture "d:\myImage.png", msoFalse, msoTrue, 250, 150, 200, 200    '插入图片,设置其位置及大小
    With .Shapes(1).PictureFormat.Crop
      .PictureHeight = 100    	'设置图像 高,图像容器大小不变
	  .PictureWidth = 100     	'宽
      .PictureOffsetX = 0     	'相对起始位置的横向位移,正为右移动
      .PictureOffsetY = 0     	'纵向位移
      .ShapeHeight = 100    '设置图像容器的 高
      .ShapeWidth = 100     '宽
      .ShapeLeft = 330      '相对起始位置的横向位移
      .ShapeTop = 170       '纵向位移
    End With
  End With
End Sub
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值