将base64图片旋转90度,将图片格式化(保持透明背景)

本文介绍了如何使用JavaScript将base64编码的图片旋转90度,以及使用Java进行图片格式化操作,同时保持图片的透明背景不变。这两种方法对于处理需要调整角度和保持透明度的图片非常有用。
摘要由CSDN通过智能技术生成

js将图片旋转90度


            function rotateBase64Img(src, edg) {
   
                var canvas = document.createElement("canvas");
                var ctx = canvas.getContext("2d");
                var imgW;//图片宽度
                var imgH;//图片高度
                var size;//canvas初始大小
                if (edg % 90 != 0) {
   
                    console.error("旋转角度必须是90的倍数!");
                    throw '旋转角度必须是90的倍数!';
                }
                (edg < 0) && (edg = (edg % 360) + 360)
                const quadrant = (edg / 90) % 4; //旋转象限
                const cutCoor = {
   sx: 0, sy: 0, ex: 0, ey: 0}; //裁剪坐标
                var image = new Image();
                image.crossOrigin = "anonymous"
                image.src = src;
                image.onload = function () {
   
                    imgW = image.width;
                    imgH = image.height;
                    size = imgW > imgH ? imgW : imgH;
                    canvas.width = size * 2;
                    canvas.height = size * 2;
                    switch (quadrant) {
   
                        case 0:
                            cutCoor.sx = size;
                            cutCoor.sy = size;
                            cutCoor.ex = size + imgW;
                            cutCoor.ey = size + imgH;
                            break;
                        case 1:
                            cutCoor.sx = size - imgH;
                            cutCoor.sy = size;
                            cutCoor.ex = size;
                            cutCoor.ey = size + imgW;
                            break;
                        case 2:
                            cutCoor.sx = size - imgW;
                            cutCoor.sy = size - imgH;
                            cutCoor.ex = size;
                            cutCoor.ey = size;
                            break;
                        case 3:
                            cutCoor.sx = size;
                            cutCoor.sy = size - imgW;
                            cutCoor.ex = size + i
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值