Vba 调整存储在文件夹中的图像的大小

Vba 调整存储在文件夹中的图像的大小,vba,powerpoint,image-resizing,Vba,Powerpoint,Image Resizing,我想从文件夹中获取一幅图像,调整其大小并将其存储在同一位置,使用相同的名称。我看过很多关于如何拍摄图像、调整图像大小并将其放入powerpoint幻灯片的示例,但我只想将其存储在文件夹中,而不是演示文稿中。这可能吗?使用图像JPEG 这可以调整jpeg的大小。它是为了从数据库中获取$content作为提要而编写的,只需替换为要调整大小的iamge的fread() $newheight=floor($newheight); $newwidth=floor($newwidth); $image=i

我想从文件夹中获取一幅图像,调整其大小并将其存储在同一位置,使用相同的名称。我看过很多关于如何拍摄图像、调整图像大小并将其放入powerpoint幻灯片的示例,但我只想将其存储在文件夹中,而不是演示文稿中。这可能吗?

使用图像JPEG

这可以调整jpeg的大小。它是为了从数据库中获取$content作为提要而编写的,只需替换为要调整大小的iamge的fread()

$newheight=floor($newheight);
$newwidth=floor($newwidth); 
$image=imagecreatefromstring($content);
$newimage=imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($newimage, $image, 0, 0, 0, 0, $newwidth, $newheight,$row['width'], $row['height']);
imagejpeg($newimage,$filetosaveto);

您可以使用VBA运行它,但大小调整将由
PowerPoint引擎
完成,而您的图片将
导出为新的jpg图片。我认为这会降低图像质量,因为PP并不是为此目的设计的软件。这就是你要找的吗?我不太在乎降低质量,因为图像太小,不会引起太多注意。。。但是的,这可能是一个解决办法。你能告诉我做这件事的步骤吗?谢谢1.使用
Dir
功能获取文件夹2中的图片文件列表。使用
Shapes.AddPicture
方法将每个文件导入演示文稿,3.调整大小,4。使用
Shape()导出图片。导出
方法。。。它将根据您的需要工作。谢谢!这花了我一段时间,但这正是我所需要的。同样重要的是,导出后必须将其删除,否则它将出现在幻灯片中。感谢您的帮助,但我想使用VBA进行此操作