首页 文章 精选 留言 我的

精选列表

搜索[图像搜索],共10004篇文章
优秀的个人博客,低调大师

Android 解码播放GIF图像

Android 播放GIF之前就有过一篇文章是讲述如何使用GIF文件并播放。可以通过这里了解关于播放GIF的一种方法。 如果前面有了解过的朋友肯定知道这上面的做法比较麻烦,又要去分解图片,又要写各种麻烦的XML文件,有点郁闷,而且还带来的直接后果是一个比较多动作的GIF图片可能会将项目的体积变大,这点很多朋友都无法接受。不过这样的好处也显而易见,就是运行的速度会比你去解码的速度要快。 以下这种方法是需要解码,但是速度的话保证不了,可能开线程的时候没有处理好吧,以下面这张图片为例做解码播放: 首先,先编写一个GIF解码的帮助类,该类提供了几个操作GIF图片的方法,比如图片的初始化呀,切换图片呀,获得整个GIF的组合数量等等,由于代码量太多,这里就不列出来,后面会提供源码供大家参考。 之后,编写一个用于可显示Gif 的组件,继承自View 并实现了Runable,代码如下: packagecom.terry.gif; importandroid.content.Context; importandroid.content.res.TypedArray; importandroid.graphics.Bitmap; importandroid.graphics.Canvas; importandroid.graphics.Paint; importandroid.util.AttributeSet; importandroid.view.View; public class TypegifViewextendsViewimplementsRunnable{ gifOpenHelpergHelper; private booleanisStop = true ; int delta; Stringtitle; Bitmapbmp; // construct-referforjava public TypegifView(Contextcontext){ this (context, null ); } // construct-referforxml public TypegifView(Contextcontext,AttributeSetattrs){ super(context,attrs); // 添加属性 TypedArrayta = context.obtainStyledAttributes(attrs, R.styleable.gifView); int n = ta.getIndexCount(); for ( int i = 0 ;i < n;i ++ ){ int attr = ta.getIndex(i); switch (attr){ case R.styleable.gifView_src: int id = ta.getResourceId(R.styleable.gifView_src, 0 ); setSrc(id); break ; case R.styleable.gifView_delay: int idelta = ta.getInteger(R.styleable.gifView_delay, 1 ); setDelta(idelta); break ; case R.styleable.gifView_stop: booleansp = ta.getBoolean(R.styleable.gifView_stop, false ); if ( ! sp){ setStop(); } break ; } } ta.recycle(); } /* * *设置停止 * *@paramstop */ public void setStop(){ isStop = false ; } /* * *设置启动 */ public void setStart(){ isStop = true ; ThreadupdateTimer = new Thread( this ); updateTimer.start(); } /* * *通过下票设置第几张图片显示 *@paramid */ public void setSrc( int id){ gHelper = new gifOpenHelper(); gHelper.read(TypegifView. this .getResources().openRawResource(id)); bmp = gHelper.getImage(); // 得到第一张图片 } public void setDelta( int is ){ delta = is ; } // tomeaureitsWidth&Height @Override protected void onMeasure( int widthMeasureSpec, int heightMeasureSpec){ setMeasuredDimension(measureWidth(widthMeasureSpec), measureHeight(heightMeasureSpec)); } private int measureWidth( int measureSpec){ return gHelper.getWidth(); } private int measureHeight( int measureSpec){ return gHelper.getHeigh(); } protected void onDraw(Canvascanvas){ // TODOAuto-generatedmethodstub canvas.drawBitmap(bmp, 0 , 0 , new Paint()); bmp = gHelper.nextBitmap(); } public void run(){ // TODOAuto-generatedmethodstub while (isStop){ try { this .postInvalidate(); Thread.sleep(gHelper.nextDelay() / delta); } catch (Exceptionex){ } } } } 基础功能实现后。可通过view.start()开启GIF的播放,或者view.stop()停止GIF的播放,代码如下: setContentView(R.layout.main); Buttonbtn = (Button)findViewById(R.id.Button01); Buttonbtn2 = (Button)findViewById(R.id.Button02); finalTypegifViewview = (TypegifView)findViewById(R.id.gifView1); btn.setOnClickListener( new OnClickListener(){ @Override public void onClick(Viewv){ view.setStop(); } }); btn2.setOnClickListener( new OnClickListener(){ @Override public void onClick(Viewv){ view.setStart(); } }); 显示效果: 源码参见:gifPlayer 本文转自 terry_龙 51CTO博客,原文链接:http://blog.51cto.com/terryblog/478018,如需转载请自行联系原作者

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

elasticsearch 支持中英文搜索和混合搜索

环境: ubuntu16.04 安装: elasticsearch 5.22 1. 第一步,安装javaapt-get install default-jreapt-get install default-jdk 2.第二步,安装elasticsearch. 5.22wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.debdpkg -i elasticsearch-5.2.2.deb 3.启动服务systemctl daemon-reloadsystemctl enable elasticsearchsystemctl restart elasticsearch 碰到问题:[2018-07-02 18:36:32,700][INFO ][node ] [Captain Fate] version[1.7.3], pid[25545], build[NA/NA][2018-07-02 18:36:32,701][INFO ][node ] [Captain Fate] initializing ...[2018-07-02 18:36:32,900][INFO ][plugins ] [Captain Fate] loaded [], sites [][2018-07-02 18:36:32,930][INFO ][env ] [Captain Fate] using [1] data paths, mounts [[/ (/dev/vda1)]], net usable_space [27gb], net total_space [39.2gb], types [ext4][2018-07-02 18:36:35,634][WARN ][common.network ] failed to resolve local host, fallback to loopbackjava.net.UnknownHostException: iZhp3ig1mh8lh6acp6sx0xZ: iZhp3ig1mh8lh6acp6sx0xZ: Name or service not known at java.net.InetAddress.getLocalHost(InetAddress.java:1505) at org.elasticsearch.common.network.NetworkUtils.<clinit>(NetworkUtils.java:55) at org.elasticsearch.http.netty.NettyHttpServerTransport.<init>(NettyHttpServerTransport.java:165) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)修改etc/hosts文件,加上你自己的hostname里面的值127.0.0.1 localhost iZhp3ig1mh8lh6acp6sx0xZ4.验证是否成功curl -XGET "http://localhost:9200" 5.注意的几点: a.新建用户elasticsearch useradd elasitcsearch b.让上面的用户拥有目录:/usr/share/elasticsearch 的权限 chown elasitcsearch:elasitcsearch /usr/share/elasticsearch chown -R 777 /usr/share/elasticsearch sudo chown -R elsearch:elsearch /etc/elasticsearch sudo chmod -R 775 /etc/elasticsearch/ 6.添加支持中文分词的插件等,所有插件,必须和elasticsearch版本一致,下载解压到/usr/share/elasticsearch/plugins目录下面,名字如下=命名: 7.启动的时候可以切换到目录/usr/share/elasticsearch/bin/ . 直接执行./elasticsearch 就可以进行启动了 需要的插件地址都可以在这里找到:https://github.com/medcl 下载如下 elasticsearch-5.2.2.deb elasticsearch-analysis-stconvert-5.2.2.zip elasticsearch-analysis-ik-5.2.2.zip kibana-5.2.2-amd64.deb 问题: 1、Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12) 由于elasticsearch5.0默认分配jvm空间大小为2g,修改jvm空间分配 # vim config/jvm.options -Xms2g -Xmx2g 修改为 -Xms512m -Xmx512m 2.Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.nio.file.NoSuchF ileException: /usr/share/elasticsearch/config 解决方法:cp -R /etc/elasticsearch/* ./config/ Likely root cause: java.nio.file.NoSuchFileException: /usr/share/elasticsearch/config

资源下载

更多资源
Mario

Mario

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

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

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

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册