首页 文章 精选 留言 我的

精选列表

搜索[图片标签],共10006篇文章
优秀的个人博客,低调大师

android 图片处理

package com.android.image.demo;import java.io.InputStream;import android.app.Activity;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.LinearGradient;import android.graphics.Paint;import android.graphics.Path;import android.graphics.PorterDuffXfermode;import android.graphics.Shader;import android.graphics.Typeface;import android.os.Bundle;import android.view.View;public class AlphaBitmap extends Activity { @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(new SampleView(this)); }private static class SampleView extends View {private Bitmap mBitmap;private Bitmap mBitmap2;private Bitmap mBitmap3;private Shader mShader;private static void drawIntoBitmap(Bitmap bm) {float x = bm.getWidth();float y = bm.getHeight(); Canvas c = new Canvas(bm); Paint p = new Paint();/* Paint类的一个边缘光滑的方法,true表示边缘光滑*/ p.setAntiAlias(true); p.setAlpha(0x80);//设置颜色透明度为十六进制80(半透明),0x00全透明,0xFF不透明 /*在位图矩阵区域内画一个相切的圆*/ c.drawCircle(x/2, y/2, x/2, p); p.setAlpha(0x30);/*用指定的PorterDuff模型创建xformode,PorterDuff.Mode.SRC * 表示下面要绘制的文本应在上面绘制的圆的上层*/ p.setXfermode(new PorterDuffXfermode(android.graphics.PorterDuff.Mode.SRC)); p.setTextSize(60);/*Paint.Align 是文本对齐方式的一个枚举类 * CENTER表示文本居中 * LEFT 表示做对齐 * RIGHT 表示右对齐*/ p.setTextAlign(Paint.Align.CENTER);/*FontMetrics是字体度量的类描述了给定文本大小的各种各样的字体度量。 * ascent 表示到基准线之上的距离 * bottom 表示到基准线之下的最大距离,它是最低的字体类型 * descent 表示到基准线之下的距离 * leading 空格字符到基准线的距离,为0 * */ Paint.FontMetrics fm = p.getFontMetrics(); c.drawText("Alpha", x/2, (y-fm.ascent)/2, p); }public SampleView(Context context) {super(context); setFocusable(true);/*取得资源文件的输入流*/ InputStream is = context.getResources() .openRawResource(R.drawable.qq);/*BitmapFactory 是位图的一个工厂类 * 从各种各样的位图对象中创建位图对象,包括文件,流,字节数组。 * */ mBitmap = BitmapFactory.decodeStream(is);/*extractAlpha()位图的这个方法是通过提取 * 了原始位图的透明通道值重建新的位图*/ mBitmap2 = mBitmap.extractAlpha();/*通过位图的宽度和高度已经位图的颜色配置来创建位图 * Bitmap.Config是内部枚举类表示位图的颜色配置 * 它的颜色配置有ALPHA_8、ARGB_4444、ARGB_8888、RGB_565 * */ mBitmap3 = Bitmap.createBitmap(200, 200, Bitmap.Config.ALPHA_8); drawIntoBitmap(mBitmap3);/*LinearGradient类是Shader的一个子类,它实现的是一个线性梯度变化的一个 * 着色器,(0,0)到(100,70)的直线式颜色梯度变化线 * 这个梯度变化是在红绿蓝之间均匀变化的 * Shader.TileMode是超出梯度线的颜色变化模式 *CLAMP 固定shader绘画时颜色超过原始边界(梯度线)的部分颜色用边界颜色绘制。 *REPEAT 在水平和垂直方向重复使用着色器的色相,但边界分明 *MIRROR 在水平和垂直方向重复使用着色器的色相,交换的映像色相使得邻 *近的色相总是一致;颜色关于梯度线镜像 * */ mShader = new LinearGradient(0, 0, 100, 70,new int[] {Color.RED, Color.GREEN, Color.BLUE },null, Shader.TileMode.MIRROR); } @Override protected void onDraw(Canvas canvas) { canvas.drawColor(Color.WHITE); Paint p = new Paint();float y = 10;/*设置画笔颜色为红色*/ p.setColor(Color.RED);/*调用画布的drawBitmap方法在指定的位置用指定的画笔画指定的位图*/ canvas.drawBitmap(mBitmap, 10, y, p);/*设置下一个位图绘制的y坐标值*/ y += mBitmap.getHeight() + 10; canvas.drawBitmap(mBitmap2, 10, y, p); y += mBitmap2.getHeight() + 10;/*设置画笔的着色器*/ p.setShader(mShader); canvas.drawBitmap(mBitmap3, 10, y, p);/*这个类主要装载了绘制直线曲线等的几何路径。*/ Path path = new Path();/*画上面的梯度变化线*/ path.moveTo(0, 0); path.lineTo(100,70); p.setColor(Color.RED);/*Paint.Style画刷的样式枚举类 * STROKE 只绘制笔画形状 * Fill 填充 * FILL_AND_STROKE 既画笔画又填充 * */ p.setStyle(Paint.Style.STROKE);/*用指定的路径和指定的画刷画要求的路径*/ canvas.drawPath(path, p); } } } 本文转自wanqi博客园博客,原文链接http://www.cnblogs.com/wanqieddy/archive/2011/07/20/2111935.html:如需转载请自行联系原作者

优秀的个人博客,低调大师

开源女神节——撕掉标签,自由随我

又是一年女神节到来,祝所有女性节日快乐! 社区女神节活动也正式开始啦!扫码参与活动赢女神节礼品! 在整个程序员群体当中,女性程序员占比约22.96%,即使人数在不断增长,但仍有很多人对女性程序员存在刻板印象,例如:秃头富婆、技术不过关、不够温柔、性格沉闷...实则不然,她们只是一个普普通通在众多行业之一“搬砖”的打工人。 对于打工人来说,最开心的时刻莫过于下班离开工位的那一刻,下班之后才能做回真正的自己。常常说:上班是为了生活,下班是用心热爱生活。 上班常常需要把自己归位在众多格子间之一,为面包和所爱嗑下一个个难题,无法展示最真实的自己。下班或许意味着拥有了生活的所有权,回到舒适安心的环境,做自己想做的任何事情,无需遮遮掩掩。 本次活动希望可以给大家提供一个展示“反差美”的平台,展现女程序员们对生活的热爱。 第一位 上班是吊安全绳高空作业的阳刚女子,下班摇身一变为精致优雅女孩子;别看上班载重攀爬、超强体力,下班换身衣服一样是温文尔雅的漂亮姐姐。这说的就是咱电力工人! 第二位 “上班不准笑,下班去搞笑”一句话概括了上下班两种极致反差的角色。如果不说很难有人能够联想到脱口秀的舞台上给大家带来欢声笑语的演员,竟然有另外一重截然相反的身份。同样是“讲台”,一个带去知识,一个带来欢乐,不同的身份去体会不一样的人生。 第三位 医生的职业无疑是最耗费元气的,上班的生活和“精致”两个字可谓毫无关联,忙碌的没有时间去收拾自己。下班时间才能给自己和生活增添一抹色彩。上班有多疲惫,下班就有多嗨。 各行各业的女性朋友都展示出了上下班两种不同的状态,原来下班后的生活还可以这样过~程序媛朋友,你们的上班和下班又会展示出什么不同的状态呢?一起分享你的反差生活吧! 分享不一样的生活,快快参与活动吧! 欢迎大家加入群聊,一起交流!👇 Linux Foundation开源软件学园也带来妇女节福利啦! 在开源领域,女性以其细致强大的能量,帮助项目更好地发展,Linux Foundation开源软件学园一直致力于推动保障女性权益,鼓励女性绽放光芒,为表达对女性的尊敬,感激女性的付出,激励女性事业更上一步,在3月8日国际妇女节之际,为广大开发者送出优惠——3月6日-3月12日,Linux Foundation开源软件学园官方课程及认证考试全场88折。购买官方课程或认证考试的女性用户有机会参与抽奖,赢得礼品哦! 查看培训、认证及套购产品: 培训:https://training.linuxfoundation.cn/courses 认证:https://training.linuxfoundation.cn/certificates 套购::https://training.linuxfoundation.cn/pack

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册