首页 > 其他分享 >css滤镜图片的原样生成

css滤镜图片的原样生成

时间:2024-03-08 15:57:22浏览次数:24  
标签:originalImage canvas const 原样 image 滤镜 css 图片

现在需要对一个复杂滤镜的图片进行保存,使这个图片能保留滤镜的效果。

原理很简单,就是在原来image的基础上,新建一个canvas,然后增加滤镜效果,画出这个图片,最后保存这个图片到本地。

js代码简单版本(未实现批量)
`

Apply Filter to Image Original Image
<script>
    const originalImage = document.getElementById('originalImage');
    const canvas = document.getElementById('canvas');
    const ctx = canvas.getContext('2d');

    originalImage.onload = function() {
        canvas.width = originalImage.width;
        canvas.height = originalImage.height;

        ctx.filter = 'brightness(0.9) contrast(1.3) grayscale(1) hue-rotate(140deg) opacity(1) saturate(1) sepia(1) invert(1)';
        ctx.drawImage(originalImage, 0, 0);

        const filteredImageUrl = canvas.toDataURL('image/png');

        // 创建一个新的图片元素来显示处理后的图片
        const filteredImage = new Image();
        filteredImage.src = filteredImageUrl;

        // 将处理后的图片添加到页面中
        document.body.appendChild(filteredImage);
    };

    originalImage.src = "image_path.jpg";
</script>
`

标签:originalImage,canvas,const,原样,image,滤镜,css,图片
From: https://www.cnblogs.com/idealy/p/18061151

相关文章

  • htmi总结+css
    HTML表单学习<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>登录注册</title></head><body><h1>注册</h1><!--表单formaction:表单提交的位置可以是网站,也可以是一个请求的位置m......
  • 深入理解与应用CSS clip-path 属性
    clip-pathclip-path是什么clip-path是一个CSS属性,允许开发者创建一个剪切区域,从而决定元素的哪些部分可见,哪些部分会被隐藏。通过定义这个剪切路径(clippingpath),您可以创造出非矩形的裁剪形状,使元素内容按特定的几何形状展示。clip-path的工作原理clip-path属性通过定义......
  • css样式属性 使用汇总,补齐前端短板
    ---------------index.css常用网站css样式属性使用汇总1-------------/*先删除默认的内外边距*/*{margin:0;padding:0;}body{background-color:#fafafa;height:2000px;}li{list-style:none;/*取消li的符号*/}/*顶部导航栏开......
  • HTML+CSS 实现简单打印页
    代码:<!DOCTYPEhtml><html><head><title>分页打印示例</title><style>/*打印样式*/@mediaprint{.page{page-break-after:always;/*每个.page元素后都分页*/}}</style>......
  • 前端css阴影画图
    在线演示地址:css阴影画图一,在css中有一个box-shadow属性,可以设置元素的阴影。.item{width:50px;height:50px;background:#009688;box-shadow:50px0red,100px0px#000;}效果:二,box-shadow可以添加多个。.item{width:50px;height:......
  • Nuxt3-tailwindcss使用
    Nuxt3使用 tailwindcss文档:https://www.tailwindcss.cn/docs/installation安装文档:https://tailwindcss.nuxtjs.org/getting-started/installation1、安装 @nuxtjs/tailwindcssyarnadd-D@nuxtjs/tailwindcss2、nuxt.config.ts中配置exportdefaultdefineNuxtConfig......
  • css div 三张背景图片
    cssdiv宽度1300高度46,同时给它设置三张背景图片堆叠同时显示,其一图片宽度1300高度46,铺满整个div且距离最左侧偏移22px,其二图片宽度44,高度43,在div的最左端,其三图片宽度83,高度43,在div的最右端,他们同时垂直居中在div中  .container{width:1300px;height:4......
  • 前端基础学习1 | Web、Html、CSS
    前端基础学习1|Web、Html、CSS1、Web基础知识Web(wwwWorldWideWeb),全球广域网,也称万维网,能够通过浏览器访问的网站Web网站的工作流程Web标准,也称为网页标准,由一些列的标准组成,大部分由W3C(WorldWideWebConsortium,万维网联盟)负责制定。Web标准由三个部分组成:HTML:......
  • 在vue项目中使用scss预处理器
    从Node.js12版本开始,`node-sass`被标记为不再维护,并且从npm上已经被移除。现在,推荐使用`sass`包替代`node-sass`。`sass`包是Sass的JavaScript实现,它比`node-sass`更快速、更现代化,并且与最新版本的DartSass兼容。在Vue项目中使用Sass,你应该安装sass包......
  • css Module里less里嵌套css,使用的时候,style.xxx不用嵌套吗?
    在CSSModules中,使用Less编译器编译并转换成模块化CSS后,你不需要在JavaScript中通过style.xxx的方式进行嵌套引用。当你在Less文件中使用嵌套语法编写样式时,编译过程会自动将这些嵌套转换为扁平化的类名,并且生成一个映射对象。例如,在Less文件(假设为styles.module.less)中:.contain......