Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >一个图片缩放旋转后,将处理后的图片保存下来,不是整个画布

一个图片缩放旋转后,将处理后的图片保存下来,不是整个画布

作者头像
拿我格子衫来
发布于 2025-05-29 00:39:56
发布于 2025-05-29 00:39:56
4400
代码可运行
举报
文章被收录于专栏:TopFETopFE
运行总次数:0
代码可运行

最近发现ts有一个比较大的问题,就是,图片有旋转后,生成的gcode依然是不旋转的图像,于是排查了一些代码,发现使用的是原始图像的imagedata,唉,感觉好头疼。 图片无论怎么选择,都不会影响图像的imagedata的。烦死…

于是认真查阅测试了paperjs有关 raster的文档,发现没有一个能用的。ri…

然后就开始调研如何将旋转后的图片保存为一个新的图片,其实也并不是一定要新的图片,只需要拿到当前旋转后图像的imagedata数据,进行后续的像素处理就行。

然后就画1天写了一个demo,元素旋转后,点击按钮,生成一个新的图像,并且不携带其他元素。这看似很简单的一个功能,其实设计很多东西,包括变换矩阵,元素的旋转中心,canvas的旋转中心为原点,然后是canvas旋转图片,然后还有就是图片的尺寸,原图的尺寸,原图旋转后的外接矩形尺寸,唉…

今天看一个fabricjs的项目,这个项目也有类似的功能,发现别人是这样写的。

三句话

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 item.set({ scaleX: 1, scaleY: 1 });
 item.setCoords();
 json.src = item.toDataURL({ format: 'jpeg' });

json.src 就是原图旋转后的图片,而且是原始尺寸的。不是缩放后的,不会失真,模糊。

用fabricjs写的案例

这就是用paperjs和fabricjs的区别啊。好累啊

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【实战篇】使用fabric.js 快速开发一个图片编辑器
最近自己开发了一个图片编辑器,把源码也放在了GitHub上,顺便也总结下使用fabric.js开发一个编辑器需要用到哪些知识点。
coder_koala
2022/11/28
3.8K0
【实战篇】使用fabric.js 快速开发一个图片编辑器
基于Vue + fabric.js的图片标注组件搭建
做这个组件的初衷,是基于AI组的标注识别,传送一张图片以及图片上的一些坐标,返回对应的识别结果,前端要做的就是基于一张图片,在图片上绘制出相应的标注框,并将标注框对应的坐标以及宽高传送给后端进行识别,这是最基础的需求。在图片上进行绘制,首先想到的是用canvas,cancas强大的功能能让我们在图片上为所欲为,原生的canvasapi众多且繁杂,上手不易,fabric是一个基于canvas的强大的框架,提供一种类似面向对象的方法来编写canva,在原生canvas之上提供了交互式对象模型,通过简洁的api就可以在画布上进行丰富的操作。因此选择fabric来作为基础框架。
扬起
2022/06/28
5.9K1
基于Vue + fabric.js的图片标注组件搭建
超火的渐变头像源码,直呼 “搜1Z?”
制作方法很简单(点击文末阅读原文即可),上传图片,选择样式,保存图片即可。
程序猿石头
2021/10/14
6980
超火的渐变头像源码,直呼 “搜1Z?”
图形编辑器基于Paper.js教程24:图像转gcode的重构,元素翻转,旋转
前段时间在雕刻图片时,旋转图片,翻转图片后,发现生成准确的gcode,虽然尺寸对,但是都是以没有旋转,没有翻转的图片进行生成的。后来思考了一下,发现这真是一个大bug,无论图片如何选择,翻转,我们获取图片的imgdata,都是摆正的。而且还是原始尺寸的图片。之前解析像素使用的是paperjs的的raster.getPixel(localX, localY) 这是非常不聪明的做法,因为每次都获取像素都是经过很多的计算。这个时候最好使用使用原生的获取像素的方式,获取imgdata,然后解析。
拿我格子衫来
2025/03/11
1161
图形编辑器基于Paper.js教程24:图像转gcode的重构,元素翻转,旋转
动态海报营销FabricJs方案
Fabric.js是一个可以简化Canvas程序编写的库。 Fabric.js为Canvas提供所缺少的对象模型, svg parser, 交互和一整套其他不可或缺的工具。Fabric.js可以做很多事情,如下:
张炳
2019/10/15
3.6K0
动态海报营销FabricJs方案
无比强大的图片裁剪工具库!牛X!
最近项目中入手了一个非常实用的插件,这里和大家一起分享下:通过canvas实现图片裁剪的工具--cropper.js
程序员老鱼
2022/12/02
2.2K0
【实战】Canvas实现图片上标注、缩放、移动和保存历史状态
面试官说可以往深层次思考一下,或许加一些新的功能来增加项目的难度,他提了几个建议,其中一个就是试卷在线批阅,老师可以在上面对作业进行批注,圈圈点点等俺当天晚上就开始研究这个东东哈哈哈,终于被我研究出来啦!
Nealyang
2020/06/10
7.2K0
【实战】Canvas实现图片上标注、缩放、移动和保存历史状态
解锁前端难题:亲手实现一个图片标注工具
业务中涉及图片的制作和审核功能,审核人员需要在图片中进行标注,并说明存在的问题,标注过程中需要支持放大缩小,移动等交互,将业务剥离,这个需求,可以定义为实现一个图片标注功能。
winty
2024/04/15
1.2K0
解锁前端难题:亲手实现一个图片标注工具
利用canvas实现一个抠图小工具
利用canvas实现一个抠图小工具 0 前言 作为新一代的前端开发工程师,PS抠图切图已经不是必备技能了,我们有UI/交互/视觉等更专业的设计同学帮我们做这个事情。但是有时候还是有一些简单的图片处理工
IMWeb前端团队
2017/12/29
2.6K0
利用canvas实现一个抠图小工具
如何用 JavaScript 制作一个好用又好玩的图片压缩工具
现在的设备发达了,图片拍下来动辄 5MB 10MB,单反相机歘欻欻一张经能达到 40MB,手机的内部储存也跟着很大,随便一个手机都 100G 。
独元殇
2023/03/21
9970
如何用 JavaScript 制作一个好用又好玩的图片压缩工具
Canvas 进阶(五)实现图片滤镜效果
之前看过一篇写关于图片滤镜的文章,蛮有兴趣,因此作出了这个小 DEMO,可以切换多种图片滤镜并提供图片下载功能。
小皮咖
2020/01/03
3.2K0
图片处理不用愁,给你十个小帮手
本文阿宝哥会为小伙伴们隆重介绍用于图片处理的十个 “小帮手”,他们各个身怀绝技,拥有模糊、压缩、裁剪、旋转、合成、比对等技能。相信认识他们之后,你将能够轻松应对大多数的图片处理场景。
阿宝哥
2020/06/23
5.3K0
cropper.js 实现HTML5 裁剪图片并上传(裁剪上传头像。)「建议收藏」
github上的官方cropper.js地址是 https://github.com/fengyuanchen/cropperjs
全栈程序员站长
2022/09/01
8.1K0
Fabric.js 从入门到________
如果你需要用 canvas 做特效,那我推荐你使用 Fabric.js ,因为 Fabric.js 语法更加简单易用,而且还提供了很多交互类的 api。
德育处主任
2022/04/17
13.8K0
Fabric.js 从入门到________
手把手教你实现一个图片压缩工具(Vue与Node的完美配合)
图片压缩对于我们日常生活来讲,是非常实用的一项功能。有时我们会在在线图片压缩网站上进行压缩,有时会在电脑下软件进行压缩。那么我们能不能用前端的知识来自己实现一个图片压缩工具呢?答案是有的。
Vam的金豆之路
2021/12/01
8180
手把手教你实现一个图片压缩工具(Vue与Node的完美配合)
JS 图片压缩
说起图片压缩,大家想到的或者平时用到的很多工具都可以实现,例如,客户端类的有图片压缩工具 PPDuck3, JS 实现类的有插件 compression.js ,亦或是在线处理类的 OSS 上传,文件上传后,在访问文件时中也有图片的压缩配置选项,不过,能不能自己撸一套 JS 实现的图片压缩代码呢?当然可以,那我们先来理一下思路。
政采云前端团队
2020/04/27
27.7K0
图片上传前预处理,等比缩放、裁剪 (html5 + canvas)
本文作者:IMWeb capricorncd 原文出处:IMWeb社区 未经同意,禁止转载 Image pre processing for upload (html5 + canvas) 源码
IMWeb前端团队
2018/01/08
3.7K0
图片上传前预处理,等比缩放、裁剪 (html5 + canvas)
我用 10000 张图片合成我们美好的瞬间
月亮照回湖心 野鹤奔向闲云 1前言 昨天是情人节,大家想必都非常愉快的度过了节日~我也是😚 好了,废话不多说,今天给大家带来是一个比较有意思的项目,通过切割目标图片,获得10000个方块,用我们所选择到的图片,对应的填充方块实现一个千图成像的效果.你可以用它来拼任何你想拼的有意义的大图.(比如我,就想用它把我和对象恋爱到结婚拍的所有照片用来做一个超级超级超级超级大的婚纱照,在老家鄱阳湖的草地上铺着,用无人机高空俯瞰,啧,挺有意思~在这里先埋个点,希望几年后能够实现😊) 首先,这篇文章是基于我的上一篇fabr
秋风的笔记
2021/08/27
6230
我用 10000 张图片合成我们美好的瞬间
从零开发一款图片编辑器Mitu-Dooring
我们知道,为了提高企业研发效能和对客户需求的快速响应,现在很多企业都在着手数字化转型,不仅仅是大厂(阿里,字节,腾讯,百度)在做低代码可视化这一块,很多中小企业也在做,拥有可视化低代码相关技术背景的程序员也越来受重视。
徐小夕
2021/09/03
1.3K0
从零开发一款图片编辑器Mitu-Dooring
Android动画全面解析-夯实基础
Android的动画可以分为两种:传统动画与属性动画,如果严格细分的话,可以分为三种,那就是 View动画(补件动画),帧动画,属性动画。
Petterp
2022/02/09
7980
Android动画全面解析-夯实基础
推荐阅读
相关推荐
【实战篇】使用fabric.js 快速开发一个图片编辑器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验