手巾变黄怎么洗为什么变绿了,换了后还是会变绿?

很多帖子里的表情图片都是偏绿的,因为被多次下载并使用过,但为什么是绿色?比如这样:
说明这是一张清真的图片
&b&业余版概要:安卓的一个核心的部分的代码,为了优化执行速度进行了魔改,结果写错了代码。结果导致 JPG 图片压缩发绿、崩坏。与安卓上的应用无关,它们是受害者(&/b&&br&&b&&br&&br&专业版概要:问题出在 Android 提供的压缩图片接口上,准确的说是一个 Android 里一个叫做 Skia 的库上。而这个 bug 在 2016 年 4 月中旬被修复了,如果按照 Android 的发行来看,那就是从 Android 7 (Nougat) 开始才消除这个问题。&/b&&br&(不是百度的阴谋。(认真)&br&&br&前言:刚才在社区里和 &a data-hash=&462f9141bef1d05b45e2e& href=&///people/462f9141bef1d05b45e2e& class=&member_mention& data-editable=&true& data-title=&@StarBrilliant& data-hovercard=&p$b$462f9141bef1d05b45e2e&&@StarBrilliant&/a& 等人一起研究,现在应该可以下一个精确的定论了。如他的答案所说,问题出在 RGB 色彩空间转换到 YUV 的时候。但问题不仅仅是精度下降,最大的问题是,错误的舍入(向下取整)。另外,JDCT_IFAST 方法会导致图片严重劣化:“格子状崩坏”、灰块、黑白块、画面粗糙,但是题目问的仅仅是变绿,就不在这上面浪费篇幅了。&br&&br&网页模拟 by &a data-hash=&462f9141bef1d05b45e2e& href=&///people/462f9141bef1d05b45e2e& class=&member_mention& data-editable=&true& data-title=&@StarBrilliant& data-hovercard=&p$b$462f9141bef1d05b45e2e&&@StarBrilliant&/a& :&a href=&///?target=https%3A//m13253.github.io/JPEGreen/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&JPEGreen Simulator&i class=&icon-external&&&/i&&/a&&br&&br&历史性的修复:&a href=&///?target=https%3A///google/skia/commit/c7d01d3e1db283fb7f8b6e177c629d& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Use libjpeg-turbo for YUV-&RGB conversion in jpeg encoder · google/skia@c7d01d3 · GitHub&i class=&icon-external&&&/i&&/a&&br&&br&=================================&br&&b&# 是谁的锅?&/b&&br&&br&百度贴吧是最多人批评的,而且……出事的客户端仅仅是 Android 系统上的。&br&&br&我后来注意到 QQ 也有这个问题,特别是上传头像。以前一直不知道为什么有一些图稍微有点绿,以为是打开了新世界的大门(x&br&&br&后来做了一点微小的测试,注意到百度贴吧、QQ,都会用 Android 系统提供的接口:&br&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&n&&Bitmap&/span&&span class=&o&&.&/span&&span class=&na&&compress&/span&&span class=&o&&(&/span&&span class=&n&&Bitmap&/span&&span class=&o&&.&/span&&span class=&na&&CompressFormat&/span&&span class=&o&&.&/span&&span class=&na&&JPEG&/span&&span class=&o&&,&/span& &span class=&n&&quality&/span&&span class=&o&&,&/span& &span class=&n&&outputStream&/span&&span class=&o&&);&/span&
&/code&&/pre&&/div&看起来都很干净……难不成是系统的问题?&br&&br&我自己做了一个我这辈子写的第一个 Android 的小程序(我真不敢斗胆叫做 App),模仿一个正常的应用,反复 JPEG 压缩。发现还真是那么回事。顺便完善了一下,做成了“效果拔群的绿化器”。&br&&img src=&/0eedd638ad9_b.png& data-rawwidth=&1440& data-rawheight=&2560& class=&origin_image zh-lightbox-thumb& width=&1440& data-original=&/0eedd638ad9_r.png&&&br&源代码已开放:&a href=&///?target=https%3A///LionNatsu/terribleGreen/blob/master/app/src/main/java/com/example/lion/myapplication/MainActivity.java& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&terribleGreen/MainActivity.java at master · LionNatsu/terribleGreen · GitHub&i class=&icon-external&&&/i&&/a&(开源许可证:Apache License Version 2.0,欢迎提供 PR)&br&&br&现在就要说到 Android 系统到底为什么出了这个问题了。Android 系统自起诞生以来就引入了名为 Skia 的图像库(Google 自家产品),用于处理图像,其中包括把图片压缩成 JPEG(平时说的 JPG)。而 Skia 又是调用 libjpeg-turbo 来实现真正的压缩过程的。为了达到更好的压缩效果,JPEG 算法本身,将通常屏幕上表示颜色的 RGB(红绿蓝)数值,转换为 YUV 数值(亮度,蓝色分量,红色分量)。正常情况下这个算法是轻微有损的。&br&&br&但是 Skia 不走寻常路,将这个变换算法的各个常数复制到自己的代码里(当然是合法地),&b&然后降低了精度,以达到更高的速度&/b&(专业准确地说,从 16 位定点数,降低到了 8 位定点数),这导致了更大的损伤。&br&&br&最可怕的是……在进行这个变换运算的最后一步,需要除以 256,而代码中,&b&采用了右移操作代替除法以提高执行速度&/b&(看不懂可以跳过):&br&&div class=&highlight&&&pre&&code class=&language-cpp&&&span class=&kt&&int&/span&
&span class=&n&&y&/span& &span class=&o&&=&/span& &span class=&p&&(&/span& &span class=&n&&CYR&/span&&span class=&o&&*&/span&&span class=&n&&r&/span& &span class=&o&&+&/span& &span class=&n&&CYG&/span&&span class=&o&&*&/span&&span class=&n&&g&/span& &span class=&o&&+&/span& &span class=&n&&CYB&/span&&span class=&o&&*&/span&&span class=&n&&b&/span& &span class=&p&&)&/span& &span class=&o&&&&&/span& &span class=&n&&CSHIFT&/span&&span class=&p&&;&/span&
&span class=&kt&&int&/span&
&span class=&n&&u&/span& &span class=&o&&=&/span& &span class=&p&&(&/span& &span class=&n&&CUR&/span&&span class=&o&&*&/span&&span class=&n&&r&/span& &span class=&o&&+&/span& &span class=&n&&CUG&/span&&span class=&o&&*&/span&&span class=&n&&g&/span& &span class=&o&&+&/span& &span class=&n&&CUB&/span&&span class=&o&&*&/span&&span class=&n&&b&/span& &span class=&p&&)&/span& &span class=&o&&&&&/span& &span class=&n&&CSHIFT&/span&&span class=&p&&;&/span&
&span class=&kt&&int&/span&
&span class=&n&&v&/span& &span class=&o&&=&/span& &span class=&p&&(&/span& &span class=&n&&CVR&/span&&span class=&o&&*&/span&&span class=&n&&r&/span& &span class=&o&&+&/span& &span class=&n&&CVG&/span&&span class=&o&&*&/span&&span class=&n&&g&/span& &span class=&o&&+&/span& &span class=&n&&CVB&/span&&span class=&o&&*&/span&&span class=&n&&b&/span& &span class=&p&&)&/span& &span class=&o&&&&&/span& &span class=&n&&CSHIFT&/span&&span class=&p&&;&/span&
&span class=&c1&&// C?? 是已经扩大到 2^CSHIFT 倍的矩阵参数(-0.5 ~ 0.5),CSHIFT = 8&/span&
&/code&&/pre&&/div&这个操作并没有什么问题,数学意义就是除以 256。但是问题出在:&br&&br&1、直接截断了小数部分,等价于 trunc()。如果符号数是用补码实现的。即全部往负数方向取整。如:1.2 → 1; 3.9 → 3;0.0 → 0;-5.1
→ -6.&br&&br&2、较冒险的符号数移位:根据规范的定义,对符号数(可正可负的数)使用移位的效果将由具体的编译器明确定义决定(implementation-defined)。因为移位是一个符号无关的操作,对符号数移位将依赖于符号数的具体表现形式。而这个形式 C++ 没有给出一个限定,由具体的编译器自行决定,对于非“补码”(2's complement)的情况结果可能并不是所期待的那样数值整除2的幂。这里假设了编译器都能“正确”理解为整除。&br&&br&=================================&br&&b&# YUV 值向负方向取整导致什么?&/b&&br&&br&复习一下 YUV 的定义:&br&&ol&&li&Y,亮度,0.0 ~ 1.0;&/li&&li&U,或者叫做
Cb,蓝色分量,-0.5 ~ 0.5;&/li&&li&V,或者叫做 Cr,红色分量,-0.5 ~ 0.5。&/li&&/ol&在 Skia 的代码里,YUV 三个值均对应到 0~255 的范围。&br&因为向下取整,所以误差在 1 一个单位以内:0/256 到 1/256 也就是,YUV 三个值都变小 0.00% 到 0.39% 这个范围。&br&&br&看一下 U, V 这两个决定颜色的值是如何变化的:&br&&img src=&/6d6bdba19_b.png& data-rawwidth=&480& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&480& data-original=&/6d6bdba19_r.png&&(图片来自 Tonyle, Wikimedia Commons, &a href=&///?target=https%3A//commons.wikimedia.org/wiki/File%3AYUV_UV_plane.svg& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&File:YUV UV plane.svg&i class=&icon-external&&&/i&&/a&)&br&&br&显然,&b&YUV 值向负方向取整,结果是呼之欲出的:变暗,变绿。&/b&(这里的变暗是 YUV 里的 Y 减小,并不完全准确对应人类视觉的明暗概念)&br&&br&这个错误的舍入,使得:所有在 0 ~ 255 范围内非整数的 YUV 值都受到影响。那么某个像素被舍入到整数之后,下一次再压缩 JPEG 应该会好一些吧?很不幸的是,随之而来的大量其他有损操作(比如 DCT 变换之后滤去高频)又会使得 YUV 值发生变化:如果发生变化,假设随机产生关于 0 对称的误差,那么实际上也有 50% 的机率使得这个数值 -1,因为只要比原来的值小,都会被向下舍去。&br&&br&这使得,图片随着 Skia 缺陷的色彩空间变换算法反复压缩,越来越绿。&br&&br&=================================&br&&b&## 假如我们是 Skia 开发者,如何修复这个问题?(阅读本节需要 C/C++ 常识)&/b&&br&&br&交回给 libjpeg-turbo 库自己来做色彩空间变换。这也正是本文开头提到的那个历史性的修复具体做的:把原本 Skia 库 YUV 转换代码全部删掉了,把这个过程留给整个过程最底层的 libjpeg-turbo 库自己来做,并且用默认的 JDCT_ISLOW 方法代替 JDCT_IFAST 方法,那么自然就没这个问题了。&br&&br&注:libjpeg-turbo 是个运用极其广泛的库。可以说,基本上电脑上手机上能见到的 JPEG 压缩的地方用的一般都是 libjpeg-turbo。(iOS 应该也是吧?我没有苹果设备抱歉……Adobe 公司的魔法可能是另一回事)&br&&br&如果不删除呢?自己捣鼓:&br&* 本节所提到的代码以及示例图片可以在这里找到:&a href=&///?target=https%3A///LionNatsu/greenError& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub - LionNatsu/greenError: Discover the reason how `terribleGreen`(my another repo.) works on Android.&i class=&icon-external&&&/i&&/a&&br&&br&首先我们要模拟一个 Skia 的 libjpeg-turbo 操作(略),然后,在把图片递交给 libjpeg-turbo 之前,把色彩空间像 Skia 一样,做一个变换(矩阵数据完全与 Skia 相同)。&br&&br&我们所要做的修复就是,把运算改成能够对数字进行合理四舍五入的运算:&br&&div class=&highlight&&&pre&&code class=&language-cpp&&&span class=&kt&&int&/span& &span class=&n&&R&/span&&span class=&o&&=&/span&&span class=&n&&i&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&],&/span& &span class=&n&&G&/span&&span class=&o&&=&/span&&span class=&n&&i&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&],&/span& &span class=&n&&B&/span&&span class=&o&&=&/span&&span class=&n&&i&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&];&/span&
&span class=&cp&&#if 1 &/span&&span class=&c1&&// Shift or float-divide (shift in Skia)&/span&
&span class=&kt&&int&/span& &span class=&n&&Y&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&n&&R&/span&&span class=&o&&*&/span&&span class=&n&&CYR&/span& &span class=&o&&+&/span& &span class=&n&&G&/span&&span class=&o&&*&/span&&span class=&n&&CYG&/span& &span class=&o&&+&/span& &span class=&n&&B&/span&&span class=&o&&*&/span&&span class=&n&&CYB&/span&&span class=&p&&)&/span& &span class=&o&&&&&/span& &span class=&n&&CSHIFT&/span&&span class=&p&&;&/span&
&span class=&kt&&int&/span& &span class=&n&&U&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&n&&R&/span&&span class=&o&&*&/span&&span class=&n&&CUR&/span& &span class=&o&&+&/span& &span class=&n&&G&/span&&span class=&o&&*&/span&&span class=&n&&CUG&/span& &span class=&o&&+&/span& &span class=&n&&B&/span&&span class=&o&&*&/span&&span class=&n&&CUB&/span&&span class=&p&&)&/span& &span class=&o&&&&&/span& &span class=&n&&CSHIFT&/span&&span class=&p&&;&/span&
&span class=&kt&&int&/span& &span class=&n&&V&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&n&&R&/span&&span class=&o&&*&/span&&span class=&n&&CVR&/span& &span class=&o&&+&/span& &span class=&n&&G&/span&&span class=&o&&*&/span&&span class=&n&&CVG&/span& &span class=&o&&+&/span& &span class=&n&&B&/span&&span class=&o&&*&/span&&span class=&n&&CVB&/span&&span class=&p&&)&/span& &span class=&o&&&&&/span& &span class=&n&&CSHIFT&/span&&span class=&p&&;&/span&
&span class=&n&&o&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&n&&Y&/span&&span class=&p&&;&/span&
&span class=&n&&o&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&n&&U&/span& &span class=&o&&+&/span& &span class=&mi&&128&/span&&span class=&p&&;&/span&
&span class=&n&&o&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&n&&V&/span& &span class=&o&&+&/span& &span class=&mi&&128&/span&&span class=&p&&;&/span&
&span class=&cp&&#else&/span&
&span class=&kt&&double&/span& &span class=&n&&Y&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&n&&R&/span&&span class=&o&&*&/span&&span class=&n&&CYR&/span& &span class=&o&&+&/span& &span class=&n&&G&/span&&span class=&o&&*&/span&&span class=&n&&CYG&/span& &span class=&o&&+&/span& &span class=&n&&B&/span&&span class=&o&&*&/span&&span class=&n&&CYB&/span&&span class=&p&&)&/span& &span class=&o&&/&/span& &span class=&n&&pow&/span&&span class=&p&&(&/span&&span class=&mi&&2&/span&&span class=&p&&,&/span& &span class=&n&&CSHIFT&/span&&span class=&p&&);&/span&
&span class=&kt&&double&/span& &span class=&n&&U&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&n&&R&/span&&span class=&o&&*&/span&&span class=&n&&CUR&/span& &span class=&o&&+&/span& &span class=&n&&G&/span&&span class=&o&&*&/span&&span class=&n&&CUG&/span& &span class=&o&&+&/span& &span class=&n&&B&/span&&span class=&o&&*&/span&&span class=&n&&CUB&/span&&span class=&p&&)&/span& &span class=&o&&/&/span& &span class=&n&&pow&/span&&span class=&p&&(&/span&&span class=&mi&&2&/span&&span class=&p&&,&/span& &span class=&n&&CSHIFT&/span&&span class=&p&&);&/span&
&span class=&kt&&double&/span& &span class=&n&&V&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&n&&R&/span&&span class=&o&&*&/span&&span class=&n&&CVR&/span& &span class=&o&&+&/span& &span class=&n&&G&/span&&span class=&o&&*&/span&&span class=&n&&CVG&/span& &span class=&o&&+&/span& &span class=&n&&B&/span&&span class=&o&&*&/span&&span class=&n&&CVB&/span&&span class=&p&&)&/span& &span class=&o&&/&/span& &span class=&n&&pow&/span&&span class=&p&&(&/span&&span class=&mi&&2&/span&&span class=&p&&,&/span& &span class=&n&&CSHIFT&/span&&span class=&p&&);&/span&
&span class=&n&&o&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&n&&round&/span&&span class=&p&&(&/span&&span class=&n&&Y&/span&&span class=&p&&);&/span&
&span class=&n&&o&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&n&&round&/span&&span class=&p&&(&/span&&span class=&n&&U&/span& &span class=&o&&+&/span& &span class=&mi&&128&/span&&span class=&p&&);&/span&
&span class=&n&&o&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&]&/span& &span class=&o&&=&/span& &span class=&n&&round&/span&&span class=&p&&(&/span&&span class=&n&&V&/span& &span class=&o&&+&/span& &span class=&mi&&128&/span&&span class=&p&&);&/span&
&span class=&cp&&#endif&/span&
&/code&&/pre&&/div&这里我把原版操作和修正版操作都写在一起了,把 #if 1 改成 #if 0 即可切换。(为什么我要说这些= =)&br&&br&&b&示例:左边为原版 Lena 酱,右边均为压缩质量设置为 80%,重复 30 次。&/b&&br&&br&完全 Skia 原版效果(即 Android 的):8-bit 变换,移位除法,JDCT_IFAST 方法。&br&&img src=&/2b308422edc48a435f67bae3b0a069d2_b.png& data-rawwidth=&1024& data-rawheight=&512& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/2b308422edc48a435f67bae3b0a069d2_r.png&&画质严重劣化,色彩偏绿。&br&&br&不辣眼睛修正效果:8-bit 变换,移位除法,&b&JDCT_FLOAT&/b& 方法。&br&&img src=&/1f6eebe8bed5_b.png& data-rawwidth=&1024& data-rawheight=&512& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/1f6eebe8bed5_r.png&&可以看到关闭 JDCT_IFAST 之后画面细腻了。&br&&br&继续修复舍入漏洞的效果:8-bit 变换,&b&正常舍入的除法&/b&,&b&JDCT_FLOAT&/b& 方法。&br&&img src=&/33f75a845ab17e56b139d_b.png& data-rawwidth=&1024& data-rawheight=&512& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/33f75a845ab17e56b139d_r.png&&可以看到色彩偏绿的问题被正确四舍五入修正了。&br&&br&回归原版 libjpeg-turbo 的压缩效果(现在的新版 Android):&b&16-bit&/b& 变换,&b&正常舍入的除法&/b&,&b&JDCT_FLOAT&/b& 方法。(其实原版是JDCT_ISLOW,但差别不大)&br&&img src=&/59d5d49b892a9818aec0_b.png& data-rawwidth=&1024& data-rawheight=&512& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&/59d5d49b892a9818aec0_r.png&&比起 8-bit,少了很多“色斑”,因为精度高了,色彩分辨率更高,或者说颜色的层次更加细腻。&br&&br&=======&br&&b&番外&/b&&br&Q:为什么不用全身版 Lena
(&a href=&///?target=http%3A//www.lenna.org/full/l_hires.jpg& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&lenna.org/full/l_hires.&/span&&span class=&invisible&&jpg&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&) 做示例图?&br&A:……&br&&br&(二营长,你他娘的意大利炮呢?!)&br&&br&=================================&br&&b&来一个小的总结,给非专业的旁友们看:&/b&&br&&b&图片变绿是安卓系统一直以来的问题,直到 Android 7 才修复。原因是安卓系统内部的一个核心部件的代码,为了优化手机上运行的速度——写错了 = =。&/b&&br&&br&, 21:54 发布&br&, 22:32 修订:修正表述错误,高亮&br&, 22:34 修订:添加 S.B. 的网页模拟工具地址&br&, 23:05 修订:添加概要&br&, 23:56 修订:同步示例代码&br&, 00:38 修订:调整令人困惑的表述&br&, 14:38 修订:订正错字&br&, 23:29 修订:明确阐述各修复步骤的变化&br&, 23:31 修订:该死的我漏了句号&br&, 00:45 修订:对符号数移位的定性从“未定义的行为”修正为“由具体实现决定”
业余版概要:安卓的一个核心的部分的代码,为了优化执行速度进行了魔改,结果写错了代码。结果导致 JPG 图片压缩发绿、崩坏。与安卓上的应用无关,它们是受害者(
专业版概要:问题出在 Android 提供的压缩图片接口上,准确的说是一个 Android 里一个叫做 …
这是 Android 图像库的一个 bug,&br&标准的 JPEG 在做色彩空间转换的时候,会用至少 16 比特精度,&br&Android 图快只用了 8 比特。&br&这个 bug 同时也影响了 Chrome 浏览器。&br&这个问题在 Android 7.0 和 Chrome 52 里修复了。&br&参见 &a href=&///?target=https%3A///google/skia/commit/c7d01d3e1db283fb7f8b6e177c629d& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Use libjpeg-turbo for YUV-&RGB conversion in jpeg encoder · google/skia@c7d01d3 · GitHub&i class=&icon-external&&&/i&&/a&&br&想体验的可以试试我写的 &a href=&///?target=https%3A//m13253.github.io/JPEGreen/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&JPEGreen Simulator&i class=&icon-external&&&/i&&/a&
这是 Android 图像库的一个 bug, 标准的 JPEG 在做色彩空间转换的时候,会用至少 16 比特精度, Android 图快只用了 8 比特。 这个 bug 同时也影响了 Chrome 浏览器。 这个问题在 Android 7.0 和 Chrome 52 里修复了。 参见
已有帐号?
无法登录?
社交帐号登录
英国,UI/UE/动效,前端,PHP擦过蓝莓汁的手巾用肥皂洗变成变绿色,为什么?_百度知道红枫买回来后为什么叶子变绿了_百度知道为什么鱼缸里的水才换几天就变绿了?_百度知道查看: 32840|回复: 16
注册时间最后登录在线时间65535 小时音符333106 阅读权限200积分333106帖子主题精华823UID137778
我买了几条金鱼养,可是鱼缸里的水很快就会变绿,每天换水每天都变绿,绿藻繁殖的很快,在网上查找原因说是阳光照射鱼缸就会变绿,还说买条清道夫避免阳光直射就会好的,我也买了清道夫,昨晚我刷了鱼缸重新换水并将鱼缸放在阳台角落阳光晒不到的地方,今天一早我看见鱼缸水又变绿了,我就纳闷了,晚上换的水,晚上没有阳光怎么也会变绿呢?请教大家了。
08:42:17 上传
注册时间最后登录在线时间416 小时音符3259 阅读权限70积分3259帖子主题精华0UID1213210
黄金会员, 积分 3259, 距离下一级还需 241 积分
可能是水族箱换水时清洗不彻底引起的,一定要把可能沾染绿藻的地方彻底清洗掉!
总评分:&音符 + 5&
注册时间最后登录在线时间65535 小时音符333106 阅读权限200积分333106帖子主题精华823UID137778
shaoll 发表于
可能是水族箱换水时清洗不彻底引起的,一定要把可能沾染绿藻的地方彻底清洗掉!
可能是,我清洗的时候也就拿水龙头冲洗了一下缸壁,我在网上看到说清洗干净后应该再晒干再用,这绿藻残留一点都不行啊,繁殖太快了。说是有人养金鱼还特意养这绿水,说是金鱼吃了身体倍儿棒,颜色更好,但是在玻璃鱼缸里有绿水就失去观赏性了,绿水越来越浓都看不到金鱼了。
注册时间最后登录在线时间504 小时音符9832 阅读权限90积分9832帖子主题精华0UID1472678
钻石会员, 积分 9832, 距离下一级还需 2168 积分
主要是这也太绿了,是不是水的营养物太多了。就是适宜绿藻的繁殖和生存。试着控制光照,营养物浓度,含氧量,温度。若是我先做相同的小容器搞个对照试验,观察效果。
总评分:&音符 + 5&
注册时间最后登录在线时间781 小时音符284 阅读权限20积分284帖子主题精华0UID992962
注册会员, 积分 284, 距离下一级还需 16 积分
开水烫烫,84消个毒,你它还玩顽强的生命力不!
总评分:&音符 + 5&
注册时间最后登录在线时间504 小时音符9832 阅读权限90积分9832帖子主题精华0UID1472678
钻石会员, 积分 9832, 距离下一级还需 2168 积分
我想请问下你的喂食量和频率,光照情况,换水频率。其实这东西可好可不好,健康的微生态系统建立好的话不怎么费力,若是有一方太强的话,短时也是不好控制的,只有弱化一方,过滤的功率是不死太小哦。阳光不直射也是不行的,有些人房间内灯光养鱼一样生活的很好,要不遮挡部分光看看效果,其实我也不清楚,帮不了你。
总评分:&音符 + 5&
注册时间最后登录在线时间1265 小时音符5099 阅读权限80积分5099帖子主题精华0UID798835
白金会员, 积分 5099, 距离下一级还需 2901 积分
这繁殖速度也太快了吧,秋秋你养的是金鱼?
&嗯,养的最普通的金鱼。&
总评分:&音符 + 5&
注册时间最后登录在线时间35 小时音符6 阅读权限1积分6帖子主题精华0UID1475470
实习生, 积分 6, 距离下一级还需 14 积分
可能你太久没有换水了水变质了
&我每天都换水,本不想每天换水,但一天水就绿了不得不换。&
总评分:&音符 + 5&
注册时间最后登录在线时间65535 小时音符333106 阅读权限200积分333106帖子主题精华823UID137778
佐罗的门 发表于
主要是这也太绿了,是不是水的营养物太多了。就是适宜绿藻的繁殖和生存。试着控制光照,营养物浓度,含氧量 ...
从昨晚换水和移动地方后到今晚虽说绿的不是那么快了,但还是在变绿,含氧量?是不是我别总开着加氧棒也会好些?
注册时间最后登录在线时间65535 小时音符333106 阅读权限200积分333106帖子主题精华823UID137778
<font color="#2979827 发表于
开水烫烫,84消个毒,你它还玩顽强的生命力不!
哦,杀绿藻更彻底一些,谢谢提醒~
注册时间最后登录在线时间65535 小时音符333106 阅读权限200积分333106帖子主题精华823UID137778
佐罗的门 发表于
我想请问下你的喂食量和频率,光照情况,换水频率。其实这东西可好可不好,健康的微生态系统建立好的话不怎 ...
我都不喂食水就变绿变混了,之前在屋里养鱼是没有出现绿水现象,阳台上光照太强了,不行我就在移回客厅里。
注册时间最后登录在线时间504 小时音符9832 阅读权限90积分9832帖子主题精华0UID1472678
钻石会员, 积分 9832, 距离下一级还需 2168 积分
秋风 发表于
我都不喂食水就变绿变混了,之前在屋里养鱼是没有出现绿水现象,阳台上光照太强了,不行我就在移回客厅里 ...
鱼的排泄物事富含氮磷的,每天换换水,客厅应该可以。先看看效果吧,等鱼和水藻平衡了就好了,形成硝化系统
注册时间最后登录在线时间2640 小时音符48205 阅读权限100积分48205帖子主题精华0UID952413
秋风 发表于
可能是,我清洗的时候也就拿水龙头冲洗了一下缸壁,我在网上看到说清洗干净后应该再晒干再用,这绿藻残留 ...
养金鱼就是这样。鱼缸清洗不彻底,加上阳光照射,绿苔立马生长。应该说,没有办法可以解决。金鱼鱼缸即便是没有绿苔,水仅一天就会浑浊,还不如有绿苔好看。
养淡水热带鱼就不同了,鱼缸不会生长绿苔,观赏性好于金鱼,鱼缸什么时候都是透明的,水也是清澈的。
清道夫其实不起多大作用,因为我养过。。。
总评分:&音符 + 5&
注册时间最后登录在线时间1403 小时音符24386 阅读权限100积分24386帖子主题精华0UID1328822
估计一楼是正解&&
总评分:&音符 + 5&
注册时间最后登录在线时间65535 小时音符333106 阅读权限200积分333106帖子主题精华823UID137778
佐罗的门 发表于
鱼的排泄物事富含氮磷的,每天换换水,客厅应该可以。先看看效果吧,等鱼和水藻平衡了就好了,形成硝化系 ...
哦,还可以慢慢平衡,那就等等吧~
炫音之约勋章
炫音之约勋章
炫音斑竹勋章
炫音斑竹勋章
炫音园丁勋章
炫音园丁勋章
娱乐大使勋章
娱乐大使勋章
炫音爱心勋章
炫音爱心勋章
最具人气勋章
最具人气勋章
炫音音画勋章
炫音音画勋章
音乐贡献勋章
音乐贡献勋章
炫音慧眼勋章
炫音慧眼勋章
灌水天才勋章
灌水天才勋章
炫音绿叶勋章
炫音绿叶勋章
炫音梦幻勋章
炫音梦幻勋章
勤劳斑竹勋章
勤劳斑竹勋章
炫音搜寻勋章
炫音搜寻勋章
年度优秀会员
年度优秀会员
炫音发布组
炫音发布组
炫音支持勋章
炫音支持勋章
优秀会员勋章
优秀会员勋章
炫音贵宾勋章
炫音贵宾勋章
原创先锋勋章
原创先锋勋章
钻石会员勋章
钻石会员勋章
Powered by}

我要回帖

更多关于 羊肚子手巾三道道蓝 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信