合并两张图片 并保存到相册

10 篇文章 0 订阅

js合并两张图片并且保存到相册
注:drawAndshareImage方法合并图片后生成的是base64文件流 android手机执行mui的存储相册是不能使用,所以要吧bbsse64文件流转换为bipmip格式的图片本机路径 才可以

function drawAndShareImage(){
			var canvas = document.createElement("canvas");
			canvas.width = 700;
			canvas.height = 700;
			var context = canvas.getContext("2d");
			context.rect(0 , 0 , canvas.width , canvas.height);
			context.fillStyle = "#fff";
			context.fill();
			var myImage = new Image();
			myImage.src = "/images/shar.jpg";    //背景图片  你自己本地的图片或者在线图片
			myImage.crossOrigin = 'Anonymous';
			myImage.onload = function(){
				context.drawImage(myImage , 0 , 0 , 700 , 900);
				context.font = "60px Courier New";
				var myImage2 = new Image();
				myImage2.src = imgSrc;   //你自己本地的图片或者在线图片
				myImage2.crossOrigin = 'Anonymous';
				myImage2.onload = function(){
					context.drawImage(myImage2 , 250 , 425 , 200 , 200);
					var base64 = canvas.toDataURL("image/*");  //"image/png" 这里注意一下
					if(plus.os.name == "iOS"){
						saveImg(base64);
					}else{
						androidSave("fenxiang",base64,100,"");
					}
				}
			}
		}
保存到相册 ios 使用的是plus功能
function saveImg(imgSrc){
			var imgDtask = plus.downloader.createDownload(imgSrc,{method:'GET'}, function (d,status) {
				if(status == 200){
					plus.gallery.save(d.filename, function () {//保存到相册
						plus.io.resolveLocalFileSystemURL(d.filename, function (enpty) {
							mui.toast("图片已成功保存到相册");
							plus.nativeUI.closeWaiting();
						});
					})
				}else{
					plus.nativeUI.closeWaiting();
					mui.toast('保存失败')
				}
			});
			imgDtask.start()
		}
保存到相册 android 使用的是plus功能
function androidSave(uid, base64, quality, callback) {
			console.log(234);
			quality = quality || 10;
			callback = callback || $.noop;
			var bitmap = new plus.nativeObj.Bitmap();
			// 从本地加载Bitmap图片
			bitmap.loadBase64Data(base64, function() {
				bitmap.save("_doc/" + uid + ".jpg", {
					overwrite: true,
					quality: quality
				}, function(i) {
					console.log(JSON.stringify(i));
					var src = i.target;
					plus.gallery.save(i.target, function () {//保存到相册
						plus.io.resolveLocalFileSystemURL(i.target, function (enpty) {
							mui.toast("图片已成功保存到相册");
							
							plus.nativeUI.closeWaiting();
							mui.ajax({
								url: "https://api.tobye.top/api/version/1/unlink_img",
								data:{
									"img": imgSrc,
								},
								async: true,
								dataType: 'json',
								crossDomain: true,
								type: 'post',
								timeout: 10000,
								success: function(data) {
									console.log("删除图片:::"+JSON.stringify(data));
									if(data.status == "success"){
										imgSrc = data.data;
										$("#or_code").attr("src",imgSrc);
									}else{
										
									}
								},
								error: function(xhr,type,errorThrown) {
									mui.toast("图片删除失败");
								}
							});
						});
					})
				}, function(e) {
					mui.toast("保存图片失败")
				});
			}, function(e) {
				mui.toast("图片加载失败");
			});
		}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Stzyz_121314

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值