一键生成IOS App Icon工具

每次要提审AppStore,美术总是给一个1024x1024的 Icon ,然后就进入了繁琐的修改图片 size 和 plist 文件 Icon 配置的过程,很繁琐。这些应该是可以偷懒的啊~然后就有了这篇。

需求:

  提供一张Icon 1024x1024 png 不带alpha通道,和Assets文件夹内的AppIcon.appiconset内的Content.json文件,

输出:

  Content.json 中指定的所有Icon。 (包括命名之类的全部搞定,问题虽然小,但是省了很多事)。

生成结果如图 :

(1)首先尝试用Grahics2D来draw,

public static void PngResize(String srcImageFile, String result, int width,int height) {
    try {
        BufferedImage src = ImageIO.read(new File(srcImageFile));
        Image image = src.getScaledInstance(width,height,Image.SCALE_DEFAULT);

        BufferedImage newImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
        Graphics g = newImage.createGraphics();
        g.drawImage(image, 0, 0, null);
        g.dispose();
        newImage.flush();
        ImageIO.write(newImage, "PNG", new File(result));
    } catch (IOException e) {
        e.printStackTrace();
    }
}

发现draw出来的图片毛边情况很严重,所以放弃.

(2) 后面发现 Thumbnailator 这个Java 类库的处理效果要好很多啊 所以果断用这个

public static int PngResize(String srcImageFile, String result, float width_, float height_){
    try {
        Thumbnails.of(srcImageFile).size((int)width_, (int)height_).outputQuality(1f).keepAspectRatio(false).toFile(result);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

出来效果对比   很好。记录下

Thumbnailator 类库还有如下操作:

//按指定大小把图片进行缩和放(会遵循原图高宽比例)  此处把图片压成400×500的缩略图  变为400*300,遵循原图比例缩或放到400*某个高度
Thumbnails.of(fromPic).size(400,500).toFile(toPic);////按照比例进行缩小和放大
Thumbnails.of(fromPic).scale(0.2f).toFile(toPic);//按比例缩小
Thumbnails.of(fromPic).scale(2f);//按比例放大

//不按比例,就按指定的大小进行缩放
Thumbnails.of(fromPic).size(100, 100).keepAspectRatio(false).toFile(toPic);
//或者Thumbnails.of(fromPic).forceSize(100,100).toFile(toPic);
//旋转图片,rotate(角度),正数则为顺时针,负数则为逆时针
Thumbnails.of(fromPic).size(200,200).rotate(90).toFile(toPic);

//图片尺寸不变,压缩图片文件大小outputQuality实现,参数1为最高质量
Thumbnails.of(fromPic).scale(1f).outputQuality(0.25f).toFile(toPic);

//给图片加水印,watermark(位置,水印图,透明度)Positions.CENTER表示加在中间
Thumbnails.of(fromPic).size(400,400).watermark(Positions.CENTER,ImageIO.read(waterPic),0.5f).outputQuality(0.8f).toFile(toPic);

//用sourceRegion()实现图片裁剪//图片中心300*300的区域,Positions.CENTER表示中心,还有许多其他位置可选
Thumbnails.of(fromPic).sourceRegion(Positions.CENTER,300,300).size(300,300).toFile(toPic);

//图片中上区域300*300的区域
Thumbnails.of(fromPic).sourceRegion(Positions.TOP_CENTER,300,300).size(300,300).toFile(toPic);

//用outputFormat(图像格式)转换图片格式,保持原尺寸不变
Thumbnails.of(fromPic).scale(1f).outputFormat("png").toFile("picture/png格式的图片.png");

//输出成文件流OutputStream
OutputStream os=new FileOutputStream(toPic);
Thumbnails.of(fromPic).size(120,120).toOutputStream(os);

//输出BufferedImage,asBufferedImage()返回BufferedImage
BufferedImage bi=Thumbnails.of(fromPic).size(120,120).asBufferedImage();
ImageIO.write(bi,"jpg",toPic);

//压缩至指定图片尺寸(例如:横400高300),保持图片不变形,多余部分裁剪掉
BufferedImage image = ImageIO.read(fromPic);
Builder<BufferedImage> builder = null;

int imageWidth = image.getWidth();
int imageHeitht = image.getHeight();
if ((float)300 / 400 != (float)imageWidth / imageHeitht) {
    if (imageWidth > imageHeitht) {
        image = Thumbnails.of(fromPic).height(300).asBufferedImage();
    } else {
        image = Thumbnails.of(fromPic).width(400).asBufferedImage();
    }
    builder = Thumbnails.of(image).sourceRegion(Positions.CENTER, 400, 300).size(400, 300);
} else {
    builder = Thumbnails.of(image).size(400, 300);
}
builder.outputFormat("jpg").toFile(toPic);

有关 Thumbnailator 类库的操作,来自于  https://blog.csdn.net/chenleixing/article/details/44685817

感谢分享.

原文地址:https://www.cnblogs.com/lesten/p/9651268.html

时间: 2024-07-30 21:01:11

一键生成IOS App Icon工具的相关文章

一键生成IOS/ANDROID APP的各种规格图标

自己做开发的时候,发现弄图标很麻烦,各种尺寸,各种规格.对于只是做一些简单图标不需要进行设计的朋友,借助PhotoShop就能完成所有工作的,建议使用. 设计来源:通过PhotoShop的动作脚本,一键生成各种尺寸图标. 来源:http://appicontemplate.com/ 下载需要的PSD之后,编辑主图: 完成后,打开PSD动作面板,选择需要的脚本,运行,保存即可. 我这里导出了用于IOS的圆角矩形图标,真的很方便!

iOS App Icon图标 尺寸规范

Commit to AppStore:1024*1024 //for App Icon[email protected]:180*180 //iPhone 6 Plus (@3x)[email protected]:120*120 //iPhone 6 and iPhone 5 (@2x)[email protected]:152*152 //iPad and iPad mini (@2x)Icon-76.png:76*76 //iPad 2 and iPad mini (@1x)Icon.pn

ios App Icon 和Launch Images图标规格尺寸

程序猿们辛苦写完App马上就要上线了,提交到app store审核的时候却异常麻烦.相比安卓应用,ios对图标尺寸的要求简直丧心病狂.网上随便一搜介绍的都太复杂,自己研究了下,在xcode中就可以查看自己项目所需要的图标分辨率. ios所需要的App Icon 和Launch Images会根据应用支持的ios版本,以及支持设备是iphone,ipad还是universal有所不同.比如,我做的项目部署信息如下: 因为兼容pad和iphone,还要兼容ios6.1以上系统,所要求的图片就异常多.

[转]分享一个批量生成iOS App icons 及 LaunchImages的工具

这是一个LY自己在使用的mac app,绿色的不 可以批量由一张图片生成N多张app icons 及 launchIamges,如下图所示: 唯一美中不足的是,在Xcode 6.1所用的icon中,有一个[email protected],它未生成,如下所示: 不过这并不影响我们的使用,所谓的3x,意即60x60 Size的3倍,由[email protected]改为180x180尺寸,另存为[email protected]即可.  Art Helper.app.zip (669.03 KB

Xcode ipa打包时无法生成IOS APP ARCHIVE 而生成 Generic Xcode Archive

当工程引用了外部类库或包含子lib工程时, 默认生成的archive是 Generic Xcode Archive 格式的 无法发布和生成ipa文件. 这个时候需要更改工程设置在build setting里面把 skip install 的标记位修改为yes.注意 要把所有外部第三方静态库的工程设置都修改完. 不然无法成功 总结一下解决办法如下: 在所有依赖的库的工程作如下三点处理: 1.将Build Settings->Deployment->Skip Install 设置为 YES,但项目

iOS App Icon Template 5.0

Ref:http://www.iosicontemplate.com Ref:https://appicontemplate.com

Automator一键生成所需的iOS 图片icon

iOS到8了, 终于受不了它的各种尺寸的icon了. 写一个Finder服务来一键生成吧. 拖放几次再重复, 无技术含量, 但很有用.

20个可以帮你简化iOS app开发流程的工具

这里推荐20个可以帮你简化iOS app开发流程的工具.很多开发者都使用过这些工具,涉及原型和设计.编程.测试以及最后的营销,基本上涵盖了整个开发过程. 原型和设计 有了一个很好的创意后,你要做的不是立刻编程,而是设计UI和创建原型,这样你才能知道app如何运行,根据用户体验需要做哪些调整. App Cooker AppCooker 不仅是一个创建原型的优秀工具,它提供的许多功能还可以帮助你将程序发布到App store中.它集成了Dropbox,Box.net和photo roll,你可以直接

iOS开发之工具篇-20个可以帮你简化移动app开发流程的工具

本文转载至 http://www.cocoachina.com/ios/20130402/5926.html 如果想进入移动app开发这个领域,你总能从别的开发者或者网上或者书上找到各种各样的方法和工具,对于新手来说,还没有摸清门路就已经陷入迷茫了.这里推荐20个可以帮你简化app开发流程的工具.很多开发者都使用过这些工具,涉及原型和设计.编程.测试以及最后的营销,基本上涵盖了整个开发过程. 原型和设计 有了一个很好的创意后,你要做的不是立刻编程,而是设计UI和创建原型,这样你才能知道app如何