HarmonyOS 多张画布横向合成一张图片
需求是期望将多张画布横向合并成一张图片并保存,代码如下:
如何合成呢?
@Entry
@Component
struct NewCanvasPage {
canvas: CanvasRenderingContext2D = new CanvasRenderingContext2D();
canvas2: CanvasRenderingContext2D = new CanvasRenderingContext2D();
canvas3: CanvasRenderingContext2D = new CanvasRenderingContext2D();
build() {
Column() {
Row() {
Canvas(this.canvas)
.layoutWeight(1)
.height('30%')
.backgroundColor('#ffff00')
.onReady(() => {
this.canvas.fillStyle = '#0000ff'
this.canvas.fillRect(20, 20, 150, 100)
})
Canvas(this.canvas2)
.layoutWeight(1)
.margin({ left: 20, right: 20 })
.height('30%')
.backgroundColor('#ffff00')
.onReady(() => {
this.canvas2.font = '10vp sans-serif'
this.canvas2.fillText("第二张画布", 20, 100)
})
Canvas(this.canvas3)
.layoutWeight(1)
.height('30%')
.backgroundColor('#ffff00')
.onReady(() => {
this.canvas3.font = '20vp sans-serif'
this.canvas3.fillText("第三张画布", 0, 100)
})
}.margin({ left: 15, right: 15 })
Text("合成")
.width(100)
.height(40)
.borderRadius(10)
.backgroundColor($r('app.color.color_204adc'))
.fontColor(Color.White)
.textAlign(TextAlign.Center)
.margin({ top: 20 })
.fontSize(15)
.onClick(() => {
//合成
})
}
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
- 51.
- 52.
- 53.
- 54.
HarmonyOS
赞
收藏 0
回答 1
相关问题
HarmonyOS 多张图片拼接为一张
1390浏览 • 1回复 待解决
HarmonyOS 多张string图片合并成一张
867浏览 • 1回复 待解决
HarmonyOS将两张图片合成一张的解决方案
930浏览 • 1回复 待解决
HarmonyOS【相机服务】连续拍照场景如何将多张照片合成一张?
1634浏览 • 1回复 待解决
解决同界面中一张图片的放大会影响另一张图片位置
1472浏览 • 1回复 待解决
HarmonyOS 获取手机最新的一张图片
763浏览 • 1回复 待解决
如何吸取一张图片的色值?
1309浏览 • 1回复 待解决
从相册获取一张图片 或者自己拍一张图片 如何获取这张图片的路径 用来识别这个图片模型
2511浏览 • 1回复 待解决
如何将一张图片转化为PixelMapElement
11119浏览 • 1回复 待解决
HarmonyOS 如何实现屏幕页面整体生成一张图片
967浏览 • 1回复 待解决
HarmonyOS 如何获取手机上最新的一张图片
757浏览 • 1回复 待解决
HarmonyOS使用API request.uploadFile 上传多张图片时,服务端会收到多个请求,每个请求只接收到一张图片
1377浏览 • 1回复 待解决
如何保存一张PNG图片到相册中
2666浏览 • 1回复 待解决
HarmonyOS 如何使一张图片拉伸但不变形
1388浏览 • 1回复 待解决
HarmonyOS 一张图片怎么叠加一层颜色渐变效果?
754浏览 • 1回复 待解决
HarmonyOS 有没有打开系统相机拍照并返回和打开系统相册勾选一张或多张图片的的API
718浏览 • 1回复 待解决
如何将一张彩色的图片渲染成黑白图片?
843浏览 • 1回复 待解决
一张图片如何压缩长宽和大小到指定值
969浏览 • 1回复 待解决
HarmonyOS ShareKit分享多张图片弹起分享窗口显示分享1张图片
1222浏览 • 1回复 待解决
如何展示一张图片沿着一个边在z方向进行旋转?
980浏览 • 1回复 待解决
如何给一张图片加上一个灰色圆形的遮罩?
1027浏览 • 1回复 待解决
相册选择一张图片后,如何进入系统自带的图片编辑页
1155浏览 • 1回复 待解决
HarmonyOS 如何快速获取一张本地图片的分辨率?
1111浏览 • 1回复 待解决
如何将一张图片通过clip裁剪成一个圆形?
1159浏览 • 2回复 待解决
如何将一张474*316的图片解码为40*40的图片?
1060浏览 • 1回复 待解决
暂未提供直接将画布合成图片的能力,可以先将画布进行截图操作,将画布转化为图片然后再将图片拼接。画布转图片,可以使用componentSnapshot.get接口实现。具体使用可参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-arkui-componentsnapshot-V5#ZH-CN_TOPIC_0000001847209944__componentsnapshotget
图片拼接使用canvas 合并图片,参考demo:
图片合并 demo,以两张图片竖向排放为例