zoukankan      html  css  js  c++  java
  • 图像,UIimage,颜色

    ios 获取UIImage图片的像素尺寸

    CGFloat fixelW = CGImageGetWidth(image.CGImage);

    CGFloat fixelH = CGImageGetHeight(image.CGImage);

    详解Paint的各种set方法

    CGBitmapContextCreate unsupported parameter combination 问题详解及解决办法

    在使用CGBitmapContextCreate创建位图时,此函数会判断Color Space和Bitmap info是否匹配,通过设置

    //    CGBitmapInfo bitmapInfo = kCGBitmapByteOrder32Little | kCGImageAlphaNoneSkipFirst;

    //    CGBitmapInfo bitmapInfo = kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedFirst;

    来让其两者匹配,kCGBitmapByteOrder32Little设置的是Bitmap info,kCGImageAlphaPremultipliedFirst设置的是Color Space。

    编译器警告:CGContextSaveGState: invalid context 0x0

    后来发现问题出现在这处: UIGraphicsBeginImageContextWithOptions(weakSelf.size, YES, 0.0);  因为weakSelf.size的值CGSizeMake(0, 0),导致错误。

    Android 代码中使用Color工具类 parseColor

    arg1.setBackgroundColor(Color.parseColor("#87CEFA"));

    简述setBackgroundResource、setBackgroundColor、setBackgroundDrawable的区别

    总结一下:setBackgroundResource(R.color.XXX)改变的颜色是最下层的颜色,当改变完颜色以后,因为我头部布局在xml文件中默认颜色是white,所以又给white遮盖掉了。

           xml 文件中布局默认的颜色呢,可以理解为显示在中层。当我用Resource这个方法,把颜色改变过来以后,它因为在最下层,所以直接被中层的给刷掉了,因此颜色又变了回去。

           而setBackgroundColor(context.getResouce().getColor(R.color.XXX))呢,可以理解为改变的是最上层的颜色,不管我xml布局中的颜色是什么色,我在你布局颜色上层又给刷了回去。所以就显色了。

    gif在线制作

    图片在线动态分解

     Android设置透明、半透明等效果

    1、用android系统的透明效果

    android:background="@android:color/transparent" 

    2、用ARGB来控制
    Java代码 
    半透明<Button android:background="#e0000000" /> 
    透明<Button android:background="#00000000" /> 
     
    3、设置alpha
    Java代码 
    View v = findViewById(R.id.content);//找到你要设透明背景的layout 的id 
    v.getBackground().setAlpha(100);//0~255透明度值 
     

    gif 格式图片详细解析

    让ImageView可以使用gif的方法 good

    Android中ImageView无法居中的问题

    原来是父类视图的属性没有设置的原因,将父类视图设置为居中边可解决,即android:gravity="center":

    深入理解JPEG图像格式Jphide隐写

    0x00 隐写原理

    Jphide是基于最低有效位LSB的JPEG格式图像隐写算法,使用JPEG图像作为载体是因为相比其他图像格式更不容易发现隐藏信息,因为JPEG图像在DCT变换域上进行隐藏比空间域隐藏更难检测,并且鲁棒性更强,同时Blowfish算法有较强的抗统计检测能力。

    由于JPEG图像格式使用离散余弦变换(Discrete Cosine Transform,DCT)函数来压缩图像,而这个图像压缩方法的核心是:通过识别每个8×8像素块中相邻像素中的重复像素来减少显示图像所需的位数,并使用近似估算法降低其冗余度。因此,我们可以把DCT看作一个用于执行压缩的近似计算方法。因为丢失了部分数据,所以DCT是一种有损压缩(Loss Compression)技术,但一般不会影响图像的视觉效果。

    0x01 隐写过程

    Jphide隐写过程大致为:先解压压缩JPEG图像,得到DCT系数;然后对隐藏信息用户给定的密码进行Blowfish加密;再利用Blowfish算法生成伪随机序列,并据此找到需要改变的DCT系数,将其末位变为需要隐藏的信息的值。最后把DCT系数重新压回成JPEG图片,下面是个人对隐写过程理解画出的大致流程图。

    JPEG文件编/解码详解

    图像文件格式

    static public String s_ARGBToRGBA(String argb)
        {
            StringBuilder sb = new StringBuilder();
            if (argb.length() == 9)
            {
                sb.append("#");
                sb.append(argb.substring(3,5));
                sb.append(argb.substring(5,7));
                sb.append(argb.substring(7,9));
                sb.append(argb.substring(1,3));
                //#FF 00 11 22
                MyLog.logMsg("s_ARGBToRGBA argb: " + argb + " convert to:" + sb.toString());
    //            return sb.toString();
                return "#" + argb.substring(3,5) + argb.substring(5,7) + argb.substring(7,9) + argb.substring(1,3);
            }
            else if (argb.length() == 7)
            {
                //#00 11 22
                sb.append("#");
                sb.append(argb.substring(1,3));
                sb.append(argb.substring(3,5));
                sb.append(argb.substring(5,7));
                sb.append("FF");
                MyLog.logMsg("s_ARGBToRGBA argb: " + argb + " convert to:" + sb.toString());
    //            return sb.toString();
                return "#" + argb.substring(1,3) + argb.substring(3,5) + argb.substring(5,7) + "FF";
            }
            else
            {
                MyLog.logMsg("s_ARGBToRGBA argb: " + argb);
                return argb;
            }
        }
    
    
    * "hamburger".substring(4, 8) returns "urge"
    * "smiles".substring(1, 5) returns "mile"
  • 相关阅读:
    读书计划
    《梦断代码》读书笔记1
    合作项目5
    合作项目4
    合作项目3
    电梯调度需求分析
    合作项目2
    四则运算3程序
    合作编程
    四则运算某模块程序测试
  • 原文地址:https://www.cnblogs.com/dqxu/p/7731593.html
Copyright © 2011-2022 走看看