首页 > 其他分享 >通过CSS样式缩放图片导致图片模糊的解决方案

通过CSS样式缩放图片导致图片模糊的解决方案

时间:2023-06-29 16:01:33浏览次数:48  
标签:crisp 缩放 image rendering CSS 图片

在进行前端页面开发的过程中,通过使用CSS对图片进行等比例缩放,存在会使图片失真的情形。这种情况有点违反我们的通常认知,毕竟放大图片会使图片失真这很正常,但是缩小图片通常应该会使图片变清晰才对。目前我查找了很多资料都还没发现哪篇文章有深入分析其中的原理,姑且认为这是浏览器根据CSS样式显示图片的策略不同于常规图片查看软件。

那么遇到这种情况,有什么解决方案呢?

  • 方案一:使用CSS3image-rendering属性

    .img {
        image-rendering:-moz-crisp-edges;
        image-rendering:-o-crisp-edges;
        image-rendering:-webkit-optimize-contrast;
        image-rendering: crisp-edges;
        -ms-interpolation-mode:nearest-neighbor;
    }

    原理就是浏览器会根据该属性的不同属性值来选择算法,对图片进行处理。
    具体使用方法可以查看MDN的image-rendering说明。
    但是目前改属性的兼容性并不理想

      • 方案二:根据不同分辨率准备对应的图片
        略显繁琐,但比较保险的做法。

      • 方案三:使用SVG
        最简单的方案,对于简单的图形图片比较使用,但是不适合用于人物、风景之类的图片。

标签:crisp,缩放,image,rendering,CSS,图片
From: https://www.cnblogs.com/heibaiqi/p/17514432.html

相关文章

  • word文档的图片怎么保存到SiteFactory上
    ​ 在之前在工作中遇到在富文本编辑器中粘贴图片不能展示的问题,于是各种网上扒拉,终于找到解决方案,在这里感谢一下知乎中众大神以及TheViper。通过知乎提供的思路找到粘贴的原理,通过TheViper找到粘贴图片的方法。其原理为一下步骤:监听粘贴事件;【用于插入图片】获取光标位置;【......
  • word文档的图片怎么保存到CMS上
    ​ 如何做到ueditor批量上传word图片?1、前端引用代码<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML1.0Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>......
  • css实现空心三角形
    <divclass="triangle"></div>.triangle{width:0;height:0;border-style:solid;border-width:08px15px;border-color:transparenttransparent#568CFC;position:relative;}.triang......
  • CSS文字换行之word-wrap和word-break的区别
    CSS文字换行之word-wrap和word-break的区别word-wrap:break-word;word-break:break-all;这两种都可以,区别在于英文场景中,当一个英文单词的长度超过了父级容器长度时,word-wrap:break-word没什么用,word-break:break-all会强制换行,使单词断开。......
  • Excel将插入的图片在单元格居中代码
    一、选中需要居中的图片(ALT+A全选) 二、按ALT+F11打开MicrosoftVisualBasicforApplications窗口:1、点击:插入-模块: 2、输入代码:Subdq()DimshpAsShapeForEachshpInActiveSheet.Shapesshp.Left=(shp.TopLeftCell.Width-shp.Width)/2+sh......
  • 自用gulp打包脚本,压缩html,压缩js,压缩css,压缩图片,功能齐全
    constgulp=require('gulp');constfs=require('fs');consthtmlmin=require('gulp-htmlmin');constuglify=require('gulp-uglify');constuglifyEs=require('uglify-es');constminifyCSS=require(......
  • 【前端可视化】Canvas 下载图片添加背景色因为缩放导致比例不同问题
    比例不同是因为缩放导致的,缩放导致绘图中心发生改变,我们需要把填充的背景色的范围扩大(根据缩放比例来),同时背景色要绘制在现有画布的后面,防止重叠遮挡。感觉一个小下载,需要注意的事项还是挺多的,记录下,希望能帮助到其他人,里面的一些API请参考MDN文档。下面的参考代码,自己根据......
  • delphi如何把json传递过来的base64值转成图片
    资料来原:https://blog.csdn.net/red_eye/article/details/129634709   在Delphi中,您可以使用TNetEncoding.Base64.DecodeString方法将JSON传递过来的Base64编码字符串转换为原始二进制数据。然后,您可以将该二进制数据保存为图像文件或将其加载到TImage组件中以显示图像。以......
  • 使用exceljs和file-saver导出带图片的excel表格
    参考https://www.swvq.com/article/detail/487https://github.com/exceljs/exceljs/blob/master/README_zh.md#图片importExcelJSfrom'exceljs'importfileSaverfrom'file-saver'letworkbook=nullletworksheet=null//图片转base64constco......
  • CSS:定位
    position属性position属性用来指定一个元素在网页上的位置,一共有5种定位方式,即position属性主要有五个值。staticrelativefixedabsolutesticky下面主要介绍前四个常用的值。static属性值static是position属性的默认值。这时,浏览器会按照源码的顺序,决定每个元素的位......