找回密码
 立即注册
相关推荐换一批
  1. SJ/T 11156-1998 计算机辅助设计 设计文件档案管理制度
  2. SJ/T 10719-1996 电子设备设计文件编制示例
  3. SJ/T 10631-1995 工艺文件的编号
  4. SJ/T 10375-1993 工艺文件格式的填写
  5. SJ/T 10323-1992 电池产品设计文件的分类编号
  6. GB/T 19097-2003 技术产品文件 生命周期模型及文档分配
  7. GB/T 18253-2000 钢及钢产品 检验文件的类型
  8. FZ/T 90066-1995 纺织机械 产品图样及设计文件的更改
  9. FZ/T 90012-1991 材料在图样及设计文件中的标记方法
  10. FZ/T 91003.8-1993 纺织机械制造工艺管理导则 工艺文件的修改
  11. FZ/T 91003.7-1993 纺织机械制造工艺管理导则 工艺文件标准审查
  12. FZ/T 91001.4-1993 纺织机械制造工艺文件 工艺装备设计图样及文件格式
  13. FZ/T 91001.1-1993 纺织机械制造工艺文件 工艺文件完整性及审批程序
  14. GB/T 13959-1992 文件格式分类与代码编制方法
  15. SJ/T 207.8-2001 设计文件管理制度 第8部分:图样编制
  16. SJ/T 207.7-2001 设计文件管理制度 第7部分:电气简图的编制
  17. SJ/T 207.6-2001 设计文件管理制度 第6部分:项目代号
  18. GB/T 17191.1-1997 信息技术 具有1.5Mbit/s数据传输率的数字存储媒体运动图像及其伴
  19. GB/T 16973.1-1997 信息技术 文本与办公系统 文件归档和检索(DFR) 第1部分:抽象服务
  20. GB/T 16722.4-1996 技术产品文件 计算机辅助技术信息处理 文件管理与检索系统
  21. GB/T 16722.3-1996 技术产品文件 计算机辅助技术信息处理 产品设计过程中的状态
  22. GB/T 16722.2-1996 技术产品文件 计算机辅助技术信息处理 原始文件
  23. GB/T 16656.21-1997 工业自动化系统与集成 产品数据的表达与交换 第21部分:实现方法
  24. GB/T 16652-1996 开放文件体系结构(ODA)和互换格式 文件结构
文件png图像comboImage | 软件设计/软件工程 2022-05-05 595 0star收藏 版权: . 保留作者信息 . 禁止商业使用 . 禁止修改作品
问题
我有两个 png 图像文件,我希望我的 android 应用程序以编程方式组合成一个 png 图像文件,我想知道是否可以这样做?如果是这样,我要做的就是将它们堆叠在一起以创建一个文件。

这背后的想法是我有一些 png 文件,一些图像的左侧部分透明,而另一些图像的右侧部分透明。根据用户输入,它将两者组合到一个文件中进行显示。 (我不能只是并排显示两个图像,它们必须是一个文件)

在android中这可能以编程方式吗?这怎么可能?

回答
一段时间以来,我一直在想办法解决这个问题。

这是(本质上)我用来让它工作的代码。
  1. // Get your images from their files
  2. Bitmap bottomImage = BitmapFactory.decodeFile("myFirstPNG.png");
  3. Bitmap topImage = BitmapFactory.decodeFile("myOtherPNG.png");

  4. // As described by Steve Pomeroy in a previous comment,
  5. // use the canvas to combine them.
  6. // Start with the first in the constructor..
  7. Canvas comboImage = new Canvas(bottomImage);
  8. // Then draw the second on top of that
  9. comboImage.drawBitmap(topImage, 0f, 0f, null);

  10. // comboImage is now a composite of the two.

  11. // To write the file out to the SDCard:
  12. OutputStream os = null;
  13. try {
  14.     os = new FileOutputStream("/sdcard/DCIM/Camera/" + "myNewFileName.png");
  15.     comboImage.compress(CompressFormat.PNG, 50, os)
  16. } catch(IOException e) {
  17.     e.printStackTrace();
  18. }
复制代码

编辑:

有错别字,

所以,我改变了

image.compress(CompressFormat.PNG, 50, os)

到达

bottomImage.compress(CompressFormat.PNG, 50, os)





上一篇:在 JavaScript 中解析 JSON 对象数组
下一篇:单链表 C++ 的快速选择算法