PPT导出的图片DPI一般是150的,而有时我们需要更高DPI的图片提交给杂志社(或者其他奇奇怪怪的用途),那怎么搞呢?
1.从PPT导出图片后用用PS进行修改,这个是最直接的,但其导出之时会因为DPI的关系直接损失图像清晰度,这样即便把图像的DPI改过去,不清晰的地方照样不清晰。
2.修改PPT导出DPI值,方法如下:
->按下"win+r"->输入"regedit"
->“HKEY_CURRENT_USER”->“Software”
->“Microsoft”
->“Office”
->“16.0”(这里选择自己对应的Office对应版本)
->“PowerPoint”
->“Options”
->右键"新建"
->DWORD(32位)值(D)
->修改命名为"ExportBitmapResolution"
->双击修改十进制数值为"500"(该值就是DPI的值)
完成!
这样在PPT中选择"文件"->“另存为”->选择任意图像格式,存出来的图片就是500DPI的。
注意,如果是右键"另存为图片"是没有效果的,DPI还是150。这个问题本人没有找到解决办法,相信如果涉及逻辑一样,应该也是修改一个相应注册表键值的事情,如果有哪位老哥找到,希望留言告诉下我,万分感谢!
如果觉得上面的操作麻烦,则可以通过创建reg文件的方式来完成上面的操作:
->右键新建文本文件
->填入如下内容:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\PowerPoint\Options]
"ExportBitmapResolution"=dword:1F4
->保存后关闭
->修改文件后缀名为".reg"
->双击运行即可
注意最后一行的"1f4"为16进制数,也就是"500"的意思。
如果觉得这样自由度还缺一点,也可以用C++进行注册表的修改,代码如下:
#include
#include
using namespace std;
int main()
{
char szSubKey[200] = "Software\\Microsoft\\Office\\16.0\\PowerPoint\\Options";//子健名称
HKEY hKey;//子键句柄
DWORD dwDisposition = REG_OPENED_EXISTING_KEY;
if (ERROR_SUCCESS != RegCreateKeyEx(HKEY_CURRENT_USER, szSubKey, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey, &dwDisposition))
{
cout << "打开子健失败"<<endl;
return 0;
}
//修改子健指定对象值
int value = 500;
cout << "请输入DPI值(按回车结束):";
cin >> value;//等待用户输入DPI值
if (ERROR_SUCCESS != RegSetValueEx(hKey,"ExportBitmapResolution",0,REG_DWORD,(LPBYTE)&value,sizeof(DWORD)))
{
cout << "更新健值失败" << endl;
return 0;
}
//关闭子键句柄
RegCloseKey(hKey);
cout << "更新完成\n"<<endl;
system("pause");
return 0;
}