当前位置: 首页 > wzjs >正文

苏州建设建设信息网站网站制作难点

苏州建设建设信息网站,网站制作难点,做网站有哪些好处,响应式网站 企业模版因为我的一个项目是使用GitHub action来实现编译和部署的,而且这个android项目的icon很有可能会发生变化,所以需要在脚本中实现自动化生成icon的功能,所以这里就写了一个js脚本来做这个事情 这个脚本可以输入一个图片地址,然后生…

因为我的一个项目是使用GitHub action来实现编译和部署的,而且这个android项目的icon很有可能会发生变化,所以需要在脚本中实现自动化生成icon的功能,所以这里就写了一个js脚本来做这个事情

这个脚本可以输入一个图片地址,然后生成android项目的icon图标。

脚本文件内容:

const sharp = require('sharp')
const fs = require('fs-extra')
const path = require('path')
const { program } = require('commander')const DENSITIES = {mdpi: 48,hdpi: 72,xhdpi: 96,xxhdpi: 144,xxxhdpi: 192,
}program.requiredOption('-i, --input <file>', 'Path to source PNG').option('-o, --output <dir>', 'Output directory', 'res').option('--rounded', 'Apply circular mask to icons').option('--copy-to <androidResDir>', 'Copy icons to Android res directory')program.parse(process.argv)
const options = program.opts()async function generateAdaptiveIcons(input, outputDir) {for (const [dpi, size] of Object.entries(DENSITIES)) {const mipmapDir = path.join(outputDir, `mipmap-${dpi}`)await fs.ensureDir(mipmapDir)const foregroundPath = path.join(mipmapDir,'ic_launcher_foreground.png')const backgroundPath = path.join(mipmapDir,'ic_launcher_background.png')const legacyPath = path.join(mipmapDir, 'ic_launcher.png')const img = sharp(input).resize(size, size)const rounded = options.rounded? img.composite([{input: Buffer.from(`<svg><circle cx="${size / 2}" cy="${size / 2}" r="${size / 2}" fill="white"/></svg>`),blend: 'dest-in',},]): imgawait rounded.toFile(foregroundPath)await sharp({create: {width: size,height: size,channels: 4,background: '#FFFFFF',},}).png().toFile(backgroundPath)// legacy fallbackawait rounded.toFile(legacyPath)}// Generate XMLconst xmlPath = path.join(outputDir, 'mipmap-anydpi-v26')await fs.ensureDir(xmlPath)await fs.writeFile(path.join(xmlPath, 'ic_launcher.xml'),`
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"><background android:drawable="@mipmap/ic_launcher_background"/><foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>`.trim())await fs.writeFile(path.join(xmlPath, 'ic_launcher_round.xml'),`
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"><background android:drawable="@mipmap/ic_launcher_background"/><foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>`.trim())console.log('✅ Adaptive icons generated.')
};(async () => {const { input, output, copyTo } = optionsconst outPath = path.resolve(output)await generateAdaptiveIcons(input, outPath)if (copyTo) {const dest = path.resolve(copyTo)await fs.copy(outPath, dest, { overwrite: true })console.log(`📦 Icons copied to Android res dir: ${dest}`)}
})()

使用说明:

node ./generateIcons.cjs -i pakeplus.png --copy-to app/src/main/res

生成圆角图标:

node ./generateIcons.cjs -i pakeplus.png --rounded --copy-to app/src/main/res

最后生成的结果:

http://www.dtcms.com/wzjs/572424.html

相关文章:

  • 网站怎么做域名解析网站开发设计的技术路线
  • 优秀网站建设服务百度后台登录
  • 泰兴做网站电话网站模板减肥
  • 湖南视频网站建设wordpress替换本地字体
  • 用vs2010做免费网站模板中山站群网站建设
  • 国外域名网站推荐河北邢台做移动网站
  • 做网站字体用什么格式为什么只有建设网站打不开
  • qq空间关闭申请网站wordpress环境包
  • 网络营销中自建网站dedecms搭建购物网站
  • 网站运营编辑做什么的做设计有哪些地图网站
  • 哪家网站建设好营销软文范例500
  • ps可以在哪个网站上做兼职无锡企业网站建设报价
  • 网站建设视频l网站后台公告id修改
  • 石油网页设计与网站建设怎么样用手机做网站关键词
  • 网站链接分析工具个人网站建设研究意义
  • 做游戏ppt下载网站wordpress用户创建页面
  • 电商型网站是否是趋势wordpress 二级导航制作
  • 做ic比较有名的网站绿色食品网站模板
  • 建站系统cms西安知名网站建设
  • 怎么做进入网站js特效网易企业邮箱费用
  • 网络宣传网站建设制作网页设计作业主题推荐
  • 如何建设网页制作的网站做网站报价公司
  • c 网站购物车怎么做做信息网站需要什么
  • 阿里云网站建设斗图在线制作
  • 官方网站开发哪家便宜建设企业网站服务
  • 网站有很多304状态码嘉兴做网络推广的公司
  • 网站由什么构成泉州专业网站制作公司
  • 使用别人网站代码做自己的网站制作网站的公司(深圳)
  • 望京做网站公司wordpress 不检查更新
  • 南昌网站全新开发绵阳网页制作公司