WallpaperEngine壁纸提取工具,pkg文件提取静态图片,pkg文件转jpg,pkg文件转png

上一期给大家带来了【Wallpaper Engine】离线版,可以免费在Windows平台体验“不一样”的动态壁纸。但当电脑进入锁屏界面,是不是有一种被打回原形的感觉?

怎么让我们的锁屏界面和桌面【保持一致】或者说让我们的【锁屏界面】也能花哨起来呢?

壁纸工具“二连弹”——Wallpaper Engine壁纸提取工具

本文摘要:

一、如何使用壁纸提取工具提取Wallpaper Engine中的壁纸

二、什么类型的壁纸无法提取

三、壁纸提取工具【免费下载链接】

【Wallpaper Engine】中的动态壁纸是以scene.pkg格式存储的,上一期说到每一个壁纸文件对应一个文件夹,打开文件夹后通常找不到常见的.jpg或.png格式的图片文件,文件夹中的scene.pkg才是壁纸的主体,而壁纸提取工具的作用就是从scene.pkg文件中抽取出壁纸对应的.jpg或.png格式的文件。

一、如何使用壁纸提取工具提取Wallpaper Engine中的壁纸

1、拿到压缩包后首先还是进行解压,得到一个文件夹【RePKG-GUI】,进入文件夹后可以看到四个文件,选择【RePKG-GUI.exe】运行,该程序是图形界面的程序。

请添加图片描述

2、运行后出现如下窗口,按钮不多,操作起来也非常简单。

请添加图片描述

(1)可以选择直接将【壁纸文件夹】中的【scene.pkg】文件拖到第一个灰色的输入框,也可以选择点击【PKG】按钮从文件夹中选择【scene.pkg】文件。

(2)在完成第一步后,输出位置会默认在【scene.pkg】文件所在的位置创建一个【scene】文件夹,如果需要更改输出位置,则点击【输出】按钮,选择其他【文件夹】保存输出的文件。

(3)点击【提取】按钮,即可提取对应的壁纸为.jpg格式或.png等常见图片格式。

手动更改保存位置后不会在所选位置自动创建【scene】文件夹,如果选择【桌面】为保存位置,则点击【提取】按钮后,桌面上将出现以下【文件和文件夹】,其他输出位置同理:

请添加图片描述

注意:不要勾选【不把TEX文件转换为图像】这个选项,否则无法得到对应的壁纸图片。

3、找到第二步中设置的输出位置,打开【materials】文件夹,该文件夹下就能找到壁纸对应的图片文件。小编提取的静态壁纸有12M这么大,放再大也不会失真,做锁屏壁纸简直不要太合适。

完整演示动图如下:

请添加图片描述

附Windows锁屏壁纸设置方法:

鼠标右键桌面,选择【个性化】

请添加图片描述

请添加图片描述

二、什么类型的壁纸无法提取

简单来说,没有【scene.pkg】文件的壁纸就无法用这个软件提取壁纸。

一些和视频一样的壁纸(实际上就是视频)在对应文件夹下找不到sence.pkg文件,这种壁纸的主体是一个.mp4视频文件,这种类型的壁纸不能用该软件提取静态壁纸(话说就算提取也不知道提取哪一帧吧)

三、壁纸提取工具
链接:https://pan.baidu.com/s/1p4MU8VC2FHhPKifchJmkig?pwd=2g5d

  • 18
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
是的,Linux下可以使用libemf将EMF文件换成PNG格式。libemf是一个开源的EMF文件解析库,它提供了一个API,可以在Linux系统下读取和解析EMF文件,并将其换为其他格式。用户可以使用libemf库来开发自己的EMF文件工具或者将其集成到其他应用程序中。同时,libemf库也支持在Windows和Mac OS X系统中使用。 以下是一个使用libemf库将EMF文件换成PNG格式的简单示例程序: ```c++ #include <stdio.h> #include <emf/emf.h> #include <cairo/cairo.h> #include <cairo/cairo-image.h> int main(int argc, char** argv) { if(argc < 2) { printf("Usage: %s <emf_file> <png_file>\n", argv[0]); return 1; } const char* emf_file = argv[1]; const char* png_file = argc > 2 ? argv[2] : "output.png"; emf_t* emf = emf_open(emf_file); if(!emf) { printf("Failed to open EMF file: %s\n", emf_file); return 1; } int page_count = emf_get_page_count(emf); printf("EMF file has %d pages\n", page_count); for(int i = 0; i < page_count; i++) { emf_page_t* page = emf_get_page(emf, i); if(!page) { printf("Failed to get page %d\n", i); break; } cairo_surface_t* surface = cairo_image_surface_create_for_data(page->data, CAIRO_FORMAT_ARGB32, page->width, page->height, page->stride); cairo_surface_write_to_png(surface, png_file); cairo_surface_destroy(surface); emf_destroy_page(page); } emf_close(emf); return 0; } ``` 这个程序会读取命令行参数中指定的EMF文件,并将其换为PNG格式进行保存。要编译这个程序,需要使用libemf库和cairo库,命令行如下: ``` gcc -o emf2png emf2png.c -lemf `pkg-config --cflags --libs cairo` ``` 其中,`emf2png.c`是上述代码保存的文件名,`-lemf`参数告诉编译器链接libemf库,`pkg-config --cflags --libs cairo`命令告诉编译器链接cairo库。 运行程序时,需要将EMF文件名和PNG文件名作为命令行参数传入,例如: ``` ./emf2png example.emf output.png ``` 这个程序会将EMF文件内容换为PNG格式,并保存到指定的文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值