精华内容
下载资源
问答
  • png和jpg作为两种最常用的图片格式,首先我们要知道他们的区别:1.从一般图片的外观上来说,他们是无法直接判断的2.从文件大小上来说,同样一张图png肯定比jpg的大3.通过查资料咱们可以发现,png...而出现加载透明p...

    png和jpg作为两种最常用的图片格式,首先我们要知道他们的区别:

    1.从一般图片的外观上来说,他们是无法直接判断的

    2.从文件大小上来说,同样一张图png肯定比jpg的大

    3.通过查资料咱们可以发现,png即可移植网络图形格式,也是一种位图文件存储格式,可以进行无损压缩。而jpg是我们最常见的图片格式了,图片占用存储较少,但是也牺牲了图片质量。

    总结为一句话是两者最大的区别是有损和无损。

    而出现加载透明png图片变黑的问题,一般情况下这样的:

    服务端的图片是透明png的无损图片,我们下载到本地的时候强制把它处理为了jpg的形式,造成图片质量有损。

    jpg图片是没有背景透明这个概念的。

    图片下载保存到本地SD卡的工具方法,可以使用如下代码:

    /**

    * 将文件写到本地缓存

    * @param fileName

    * @param in

    * @param length 总的文件长度

    * @param callBack 下载回调接口

    */

    private static void writeToLocal(String fileName, InputStream in,int length,DownloadCallback callback) {

    if(in == null) {

    return;

    }

    FileOutputStream out = null;

    byte[] buffer = new byte[1024];

    int len = -1;

    long count = 0;

    try {

    out = new FileOutputStream(fileName);// 为图片文件实例化输出流

    while ((len = in.read(buffer)) != -1) {

    out.write(buffer, 0, len);

    count += len;

    if(callback != null) {

    callback.onDownload(length, count, false, false);

    }

    }

    if(callback != null) {

    callback.onDownload(length, count, true, false);

    }

    out.flush();

    out.close();

    in.close();

    } catch (IOException e1) {

    e1.printStackTrace();

    try {

    if (out != null) {

    out.close();

    out = null;

    }

    in.close();

    in = null;

    } catch (IOException e) {

    e.printStackTrace();

    }

    // 网络出现异常,删除下载文件

    new File(fileName).delete();

    if(callback != null) {

    callback.onDownload(length, count, false, true);

    }

    }

    }

    Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)【系列1】

    Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)[系列1] Android在加载或者处理超大巨型图片 ...

    android加载更多的图片

    这是昨天改进后的,我测试了下,可以加载图片到5万张,估计5万以上也是没问题的,我只试到5万,其实也没必要这么高,现实中1000左右就差不多了,不过我的应用到100就差不多了, package com. ...

    vc++加载透明png图片方法-GDI+和CImage两种

    转载自:http://blog.csdn.net/zhongbin104/article/details/8730935 先看看GDI+的方法方法1:   1.GDI+画透明图层(alpha)的png ...

    android 加载图片框架--Glide使用详解

    一.简介 Glide,一个被google所推荐的图片加载库,作者是bumptech.这个库被广泛运用在google的开源项目中,包括2014年的google I/O大会上发布的官方app.(PS:众所 ...

    Android学习笔记_51_转android 加载大图片防止内存溢出

    首先来还原一下堆内存溢出的错误.首先在SD卡上放一张照片,分辨率为(3776 X 2520),大小为3.88MB,是我自己用相机拍的一张照片.应用的布局很简单,一个Button一个ImageView, ...

    Android加载图片OOM错误解决方式

    前几天做项目的时候,甲方要求是PAD (SAMSUNG P600 10.1寸 2560*1600)的PAD上显示高分辨率的大图片. SQLITE採用BOLD方式存储图片,这个存取过程就不说了哈,网上一 ...

    Android开发技巧——TextView加载HTML的图片及代码显示问题

    前几天在做一个Gradle用户指南的应用程序,使用的是TextView来加载HTML内容(至于为什么不用WebView,我也没有认真使用并比较过,也许以后会换吧),其中遇见了一些纠结的问题,所幸主要的 ...

    Android加载图片的策略

    实现图片缓存也不难,需要有相应的cache策略.这里我采用 内存-文件-网络 三层cache机制,其中内存缓存包括强引用缓存和软引用缓存(SoftReference),其实网络不算cache,这里姑且 ...

    android加载gif图片

    Android加载GIF图片的两种方式 方式一:使用第三开源框架直接在布局文件中加载gif 1.在工程的build.gradle中添加如下 buildscript { repositories { m ...

    随机推荐

    RecyclerView 制作瀑布流图片

    这是瀑布流的效果图 RecyclerView(ListView的升级版) 加载图片用的是第三方图片加载框架 ------------------------------------- 在Xml中 &l ...

    running programmer——spring-01(初谈spring)

    今天主要是通过一个简单的登录程序学习一些spring做基础的配置和功能. I.spring的核心配置applicationContext.xml 关于bean的配置官方给出的最基础的配置文件如下: & ...

    Sublime文本排序&查找重复行&删除重复行

    排序 按F9或者选择菜单:Edit > Sort Lines,对每行文本进行排序 查找重复行 排序好后,按Ctrl+F,调出查找面板 查找字符串: ^(.+)$[\r\n](^\1$[\r\n] ...

    Sublime Text 用法小记

    复制当前行: Ctrl + Shift + D 上下移动行: Ctrl + Shift + ↑/↓ 选中行部分: Crtl + Shift + ←/→ 格式化json: Ctrl + Alt + J

    memcached安装配置

    简述: memcached,开源的分布式缓存数据系统.高性能的NOSQL . Linux 一.环境配置与安装 01.编译准备环境 yum install -y gcc make cmake autoc ...

    JS-Math对象

    M ...

    (03)odoo模型/记录集/公用操作

    -----------------更新时间11:17 2016-09-18 星期日11:00 2016-03-13 星期日09:10 2016-03-03 星期四11:46 2016-02-25 星期 ...

    jQuery - 实时统计输入框输入个数(中文输入法适用)

    经常在实时统计文本框输入多少字的时候,有时会出现不及时统计,特别是在中文输入法下. 为了实时准确统计,可以修改代码如下:     $(function() {        $("#txtT ...

    vijos1891 学姐的逛街计划(线性规划)

    P1891学姐的逛街计划 描述 doc 最近太忙了, 每天都有课. 这不怕, doc 可以请假不去上课.偏偏学校又有规定, 任意连续 n 天中, 不得请假超过 k 天. doc 很忧伤, 因为他还要陪 ...

    如何获取Linux-gate.so.1动态库

    前面"Linux应用程序Helloworld入门"已经提到在Linux下每个可执行文件都依赖于几个最为基本的动态库,其中一个就是linux-gate.so.1. 从上面ldd给出的 ...

    展开全文
  • 次级div向容器中添加另一个div元素以保存背景。这是最跨浏览器友好的方法,将工作甚至在IE6。HTMLHi thereCSS.myDiv {position: relative;z-index: 1;}.myDiv .bg {position: absolute;z-index: -1...

    不,因为不透明影响整个元素包括其内容,并且没有办法改变这种行为,这是不能做的。您可以使用以下两种方法解决此问题。

    次级div

    向容器中添加另一个div元素以保存背景。这是最跨浏览器友好的方法,将工作甚至在IE6。

    HTML

    Hi there

    CSS

    .myDiv {

    position: relative;

    z-index: 1;

    }

    .myDiv .bg {

    position: absolute;

    z-index: -1;

    top: 0;

    bottom: 0;

    left: 0;

    right: 0;

    background: url(test.jpg) center center;

    opacity: .4;

    width: 100%;

    height: 100%;

    }

    :before和:: before伪元素

    另一个窍门是使用CSS 2.1:before或CSS 3 :: before伪元素。 :before从第8版本的IE支持伪元素,而:: before伪元素根本不被支持。这将希望在版本10中得到纠正。

    HTML

    Hi there

    CSS

    .myDiv {

    position: relative;

    z-index: 1;

    }

    .myDiv:before {

    content: "";

    position: absolute;

    z-index: -1;

    top: 0;

    bottom: 0;

    left: 0;

    right: 0;

    background: url(test.jpg) center center;

    opacity: .4;

    }

    补充笔记

    由于z-index的行为,您将必须为容器设置z-index以及为背景图像设置负z-index。

    测试用例

    参见jsFiddle上的测试用例:

    展开全文
  • <?php $im=... imagesavealpha($im, true);//设置标记以在保存 PNG 图像时保存完整的 alpha 通道信息。 header('Content-type: image/png'); imagepng($im); imagedestroy($im); ?>
  • alpha=ones(size(BW));定义透明度矩阵 alpha(BW==1)=0; %BW= =1时候为背景,对应的透明度矩阵像素点值为0(0透明~1不透明) imwrite(image,'XXX.PNG','Alpha',alpha);%输出图像
  • 它工作得很完美,除了我插入的图像有一些透明部分,画布似乎忽略了它,它只打印应该透明的白色像素.我研究了这个问题abit,有些人通过执行ctx.getImageData(0,0,width,height).data来修复它,然后迭代遍历该数组,手动替换...

    我正在将一个图像插入到我的画布中:

    ctx.drawImage(myImageObject,0,0);

    它工作得很完美,除了我插入的图像有一些透明部分,画布似乎忽略了它,它只打印应该透明的白色像素.

    我研究了这个问题abit,有些人通过执行ctx.getImageData(0,0,width,height).data来修复它,然后迭代遍历该数组,手动替换像素以获得透明度.我还读到这是不好的做法,因为它很慢(我的精灵表可能是1000 x 1000,因此这将非常慢).

    有可能做一些事情来让我的gif透明度显示出来吗?当我将它保存在photoshop中时,当我看到gif本身时,我可以看到透明度,但是当我将它粘在画布上时它就会停止透明.

    编辑:我只是尝试了另一个gif并且透明度有效,但在上面的那个没有,可能上面的gif可能有问题吗?

    解决方法:

    使用该图像以及Mac上最新的Firefox和Chrome测试版中的以下代码,对我来说效果很好. (除了图像本身有一些白色不透明像素,你可以通过在深色背景上打开,例如在Firefox中看到.)

    var canvas, ctx;

    function init() {

    canvas = document.getElementById("canvas");

    ctx = canvas.getContext("2d");

    var size=500;

    ctx.fillStyle = 'yellow';

    ctx.beginPath();

    ctx.fillStyle = 'yellow';

    ctx.moveTo(0,0);

    ctx.lineTo(size,0);

    ctx.lineTo(size,size);

    ctx.lineTo(0,size);

    ctx.lineTo(0,0);

    ctx.stroke();

    ctx.fill();

    var img = document.getElementById("img");

    ctx.drawImage(img, 0, 0);

    }

    test.gif

    标签:javascript,html5,canvas,alpha

    来源: https://codeday.me/bug/20190704/1376885.html

    展开全文
  • 最近发现在IE6下不能正常显示PNG图片,这让我很苦恼。使用PNG图片的透明或半透明的特性能做出非常漂亮的网页来,在Firefox和Opera...虽然有让IE6支持PNG透明背景JS程序,但不是很方便,而且影响代码的简洁,还是用...

    最近发现在IE6下不能正常显示PNG图片,这让我很苦恼。使用PNG图片的透明或半透明的特性能做出非常漂亮的网页来,在Firefox和Opera中对PNG的支持都非常的好,但是IE却无视PNG图片这一特性的 “存在”,虽然IE7已经支持可IE6还是不行。查了一些资料,基本解决了这一问题,这里跟大家分享。

    虽然有让IE6支持PNG透明背景的JS程序,但不是很方便,而且影响代码的简洁,还是用CSS来实现的好。使用到的是:IE5.5+的AlphaImageLoader滤镜

    语法: 

    filter : progid:DXImageTransform.Microsoft.AlphaImageLoader ( enabled=bEnabled , sizingMethod=sSize , src=sURL )

    属性: 

    enabled : 可选项。布尔值(Boolean)。设置或检索滤镜是否激活。true | false 

    true : 默认值。滤镜激活。 

    false : 滤镜被禁止。 

    sizingMethod : 可选项。字符串(String)。设置或检索滤镜作用的对象的图片在对象容器边界内的显示方式。 crop : 剪切图片以适应对象尺寸。 

    image : 默认值。增大或减小对象的尺寸边界以适应图片的尺寸。 

    scale : 缩放图片以适应对象的尺寸边界。 

    src : 必选项。字符串(String)。使用绝对或相对 url 地址指定背景图像。假如忽略此参数,滤镜将不会作用。

    说明: 

    在对象容器边界内,在对象的背景和内容之间显示一张图片。并提供对此图片的剪切和改变尺寸的操作。如果载入的是PNG(Portable Network Graphics)格式,则0%-100%的透明度也被提供。 

    PNG(Portable Network Graphics)格式的图片的透明度不妨碍你选择文本。也就是说,你可以选择显示在PNG(Portable Network Graphics)格式的图片完全透明区域后面的内容。

    了解了以上的内容,可以写一段简单的CSS代码来实现:

    .news{width:364px;height:212px;filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true', sizingMethod='scale', src="/templets/images/news_bg.png");background:none; }

    这段简单的CSS代码就可以在IE中正常的显示PNG透明背景,但是会发现在FF下不会出现背景,分析原因:AlphaImageLoader滤镜只能被IE支持,FF是不支持该滤镜的。

    有些初学者可能会在代码中添加这样一段:background-image: url(/templets/images/news_bg.png);

    添加这样一段代码虽然能解决FF下的问题,都是IE又出现问题:新的背景会覆盖在滤镜的背景之上,导致滤镜显示无效,这时候就用到IE和FF对CSS读取的区别特性了:

    我们可以分开IE6跟IE7、FF,因为IE6能识别样式前“_”号,而IE7、FF却不行,所以我们先写IE7和FF能识别的CSS:

    .news1{width:364px;height:212px;background:url(/templets/images/news_bg.png) top no-repeat;}

    而后在代码后加上AlphaImageLoader滤镜代码,并使用“_”号前缀,所以最终完整的代码是这样的:

    .news1{clear:both;float:left;width:364px;height:212px;margin-bottom:16px;background:url(/templets/images/news_bg.png) top no-repeat;_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true', sizingMethod='scale', src="/templets/images/news_bg.png");_background:none;} 

    这样效果可以实现,也不增加多少代码量。

    不过需要注意的是:AlphaImageLoader滤镜会导致该区域的链接和按钮无效,解决的办法是为链接或按钮使用相对定位,或者添加:position: relative;这样条代码,使其相对浮动。

    最后AlphaImageLoader无法设置背景的重复,所以对图片的切图精度会有很高的精确度要求。

    不过使用上面的方法在IE6下有时支持并不好,最好将无背景的png 图片保存为png8/gif格式,则不用上面方法就默认支持背景图片透明效果。^_^

    方法= :

    <!--[if IE 6]>

     <script src="DD_belatedPNG_0.0.8a-min.js"></script>

     

     <script type="text/javascript">

     DD_belatedPNG.fix('.wap01,.wap02,.wap03,.wap04,.wap05,.wap06,.navh a:hover,.navy a:hover,.navm a:hover,.navp a:hover,.navd a:hover,.navh a.thisnav,.navy a.thisnav,.navm a.thisnav,.navp a.thisnav,.navd a.thisnav,#msgObjId');

     </script>

     <![endif]-->

    转载于:https://www.cnblogs.com/boyice/archive/2012/11/15/2771521.html

    展开全文
  • --最终的图片容器--> <img id="jt_img" style="width: 100%;height: 100%;position: absolute;left: 0;top: 0;"/> <!--自己的画布--> <canvas id="ourCanvas" style="position: absolute; left...
  • 我本来以为 我对程序 的菜菜脑袋可能解决不了ie6 png图片透明背景不兼容问题了,只能使用所谓的 在保存png 图片时,保存为文件更小,有gif 效果,被ie6支持的png8 索引色透明度格式 但是png8 支持的色彩位数实在...
  • 使用StackBlur.js图片背景模糊

    千次阅读 2020-10-10 17:52:23
    WEB前端功能越来越强大了,很多时候需要前端去对图片进行简单的处理,比如我遇到的图片背景模糊然后完成图片叠加,经过一番摸索使用StackBlur.js这个js插件完成了需求 提示:以下是本篇文章正文内容,下面案例可供...
  • 排查出来是因为只有png格式支持透明,但是上传png格式图片时都被处理成jpg格式了,下面是问题代码: 转二进制的时候强制设为了jpg格式 找到了问题,但是如果直接用canvas.toDataURL().split(',')的话会默认使用...
  • 图像处理-裁剪具有透明背景的png

    千次阅读 2019-09-30 14:11:20
    我遇到了需要裁剪具有透明背景的png的问题,用 https://www.yasuotu.com/editor 这个压缩图网站解决了问题。 这里可以选择裁剪的宽度和高度,记得点击确定按钮。 裁剪完成后,点击保存本地按钮,选择png图片,...
  • css透明背景兼容方案

    2019-10-07 11:35:24
    css透明是一个技术活,因为这里面涉及到了IE8及以下版本不兼容opacity这个css3属性,而filter:alpha(opacity=80)这个值则是不兼容IE6.网上比较流行的透明css是这样子写的。 .transparent_class { /* IE 5-7 */ ...
  • 不少的项目中都用到了二维码加背景图片生成海报的宣传图片,实现方法就是canvas绘制到一张上后进行下载。html2canvas的技巧在这里不在讲解。 二维码和背景图片进行定位。 在传统场合,这类功能往往依赖后台合成...
  • css三种图片格式比较及背景透明图片:jpg特点:可压缩,色彩丰富,压缩后图形变模糊,但保存大小会变小。缺点:不能保存图层,不支持透明和动图。png特点: 能够保存图层,支持透明和半透明缺点: 不能压缩,如果...
  • 作者 @zwhu源码 @raw原文章 @github 使用场景 老板让我这个不会P图的伪前端把公司的Logo放到公司网站上,结果给了我一张 JPEG 格式的...此脚本的功能是将 JPEG 格式的图片中的白色背景转成透明,然后再保存成PNG格...
  • bb几句,一直想要设置画布透明,直到看到官方消息,...现在小程序支持获取透明背景了,开心心 ❥ 可通过这段语句去获取透明画布 getContext(‘webgl’, { alpha: true }) 关于canvas的使用 代码: init: function(c...
  • wordcloud:自定义背景图片,生成词云

    万次阅读 多人点赞 2017-09-01 08:31:46
    实际中我尝试设置透明背景色并没有成功过! 当我选取的遮罩图是白色底时,如果 background_color 设置为 "white" 或 "black" 时,生成的云词确实是对应的“白色”“黑色”; 但是按照上述参数设置透明色时,...
  • IE6下PNG透明图片背景显示灰色的完美解决方法--By apei830 2010//04/07一、unitpngfix.js方法1) 下载unitpngfix.jshttp://labs.unitinteractive.com/unitpngfix.php2) 解压缩unitpngfix.zip得到图片“clear.gif”...
  • 使用 html2canvas 将页面保存图片

    千次阅读 2019-12-06 11:45:52
    有时我们需要实现在浏览器端直接对整个或部分页面进行截屏,比如移动端常见的“长按网页保存图片”功能。这个借助 html2canvas 这个第三方 js 库即可实现,下面通过样例演示其如何使用。 一、基本介绍 1,什么是 ...
  • 将截图保存到本地端download下来 jquery还很菜 所以没什么头绪 目前只做到了预览 选择框图像的画面出来 我是照着github上说的做出来的 一张图片然后框选起来 在class叫做small的格子里显示截图预览 !...
  • ie6下透明背景的解决方案

    千次阅读 2012-06-20 14:21:06
    但我们做项目的时候还要要考虑一下ie6,毕竟有那么一部分人还在使用着ie6浏览器,为了达到更好地兼容在ie6下的png图片背景透明,很多人都要想办法,像我们这种开发人员就是去找别人想好的办法,今天也算是找到了,我...
  • html2canvas可以通过纯JS对浏览器端进行截屏,但截图的精确度还有待提高,部分... 这里有个坑,不要下载最高版本的js,有很多坑。我从1.0降下来了。我用的是0.5版本的 这个是我在用的0.5版本: html2canvas....
  • IE浏览器中PNG图片背景透明

    千次阅读 2010-01-13 10:41:00
    网页里的PNG图片.div1 img{ position:absolute; top:-3px; left:-2px;behavior:url("iepngfix.htc");...}背景为PNG图片.div2{ background:url(/images/button05.png) no-repeat; width:66px; height
  • 以前有一种方法就是用gif图片,IE6下面是支持gif图片背景透明的 但是有时候gif图片在IE6下面会有毛边,显示效果不好; 可以使用滤镜来使IE6也完美使用Png图片; 代码CSS: filter : progid:DXImageTr...
  • 其中和新canvas有关的 可以删掉,那么保存图片就 只能保存背景透明的png图片了. getPathval是获取的本地图片路径,也可以用于添加有背景图片,自行改造,没用的话自行删掉. 转载于:...
  • vscode自定义背景图片

    2021-05-26 20:38:38
    vscode自定义背景图片 效果图 2.具体步骤 右键vscode,打开文件所在位置,依次打开resources,app,out,vs,workbench文件夹中,用notepad++打开其中的workbench.desktop.main.css 在代码最后加上以下代码: ...
  • 从博文中我们了解到,WebP新加入了透明效果,对JPEG了解的朋友都知道,JPEG不支持图片背景透明效果而PNG是支持透明效果的。 WebP第一版使用了有损压缩方式以减小图片文件尺寸大小以保证获得更快的图片文件加载速度...
  • 它工作正常,但是当我保存图像时,它显示PNG的透明背景颜色和jpeg的背景颜色黑色.这是我做的:window.onload = function(){html2canvas(document.getElementById("tablePng"),{onrendered: function(canvas){var img =...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,397
精华内容 5,758
关键字:

js保存透明背景图片