在Video Canvas上绘制图形

我们经常使用MMAPI提供的功能播放视频或者拍照图片,这时候可能希望在Video Canvas上绘制一些菜单或者图形。本文介绍如何在SonyEricsson的机型上完成上面的特性。
在SonyEricsson JP7的机型上,实现上面的特性非常容易。只需要在初始化VideoControl的时候指定一些特定的参数即可。例如
videoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO | (overlay << 8) | (Sprite.TRANS_ROT90 << 4), canvas);
其中overlay=1的时候代表绘制的图形覆盖在video之上,overlay=0的时候代表不覆盖。
对于JP6或者以前的版本,如果也想实现这样的效果则需要使用一些小技巧。首先我们还是初始化VideoControl,
videoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO, canvas);

问题的关键在Canvas的paint方法的处理上,为了避免绘制的内容被覆盖我们必须等Player启动之后再绘制我们的内容,实现这一点可以同过PlayerListener来完成,如下所示:

public void playerUpdate(Player p, String event, Object obj) {
switch(p.getState()){
case Player.STARTED:
initialized = true;
break;
}
}

在绘制完成后,还需要调用Graphics.setClip(0,0,0,0)方法。
public void paint(Graphics g) {
if(camera!=null){
if(camera.isInitialized() && !update){
menu.draw(g);
g.setClip(0, 0, 0, 0);
}else if(update){
update = false;
}
}
}

运行结果如上面所示。这个特性是比较有用的,今天阅读SE开发者社区的时候发现的,大家可以看看原文
http://developer.sonyericsson.com/site/global/techsupport/
tipstrickscode/java/p_video_overlay_draw_canvas.jsp

UploadFiles/2007-1/18575526.zip这个是代码

时间: 2024-12-03 17:27:22

在Video Canvas上绘制图形的相关文章

paint-怎么在网页上绘制图形

问题描述 怎么在网页上绘制图形 老师要求根据一个json文件在网页里面绘制出地图,类似于Echart的底图,也就是Echart下面的那层地图的效果?简单一点也可以说是怎么在网页里面画东西?请问我应该学习那些知识?本人是学生,没有悬赏,希望大家能帮帮忙?谢谢 解决方案 amCharts在网页上绘制各种图形[转]c# 绘制图形 解决方案二: canvas drawImage 解决方案三: 用html5的canvas,很方便 解决方案四: js,canvas,svg,vml(ie专用)等 解决方案五:

如何使用HTML5的Canvas图形元素绘制图形

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 HTML5是目前HTML的最新标准.在笔者写这篇文章时,HTML5仍在积极的发展.HTML5除了提供新的标签信息外,同时还包含了新的应用程序编程接口(API),这样可以使我们能够在网页上提供更多丰富的多媒体和互动功能,而无需使用专有的插件.除了这些万维网联盟还公布了其他的相关技术,比如地理位置定位,脱机存储,档案管理等等. 在HTML5推出后

html5使用Canvas中绘制图形2个例子

首先我们先看一线效果图:   想要绘制其他图形,需要使用路径,使用路径包含4个步骤,开始创建路径.创建图形的路径.路径创建完成后,关闭路径和设定绘制样式,调用绘制方法,绘制路径.    核心内容:  绘制路径.moveTo.lineTo.bezierCurveTo  <!DOCTYPE html> <html>     <head>         <meta charset="utf-8">         <title>&

HTML5中Canvas(绘制)使用例子

Canvas中不仅可以画线(路径),还能画很多其他的图像,这一章就介绍Canvas的其他两种绘图API. 一.简单图形,整套的属性和方法专门用于绘制矩形: 1.fillStyle可以设置为CSS颜色.一个图案或一种颜色渐变.fillStyle默认是纯黑色,你可以设置成你喜欢的任意颜色.只要页面打开着,每个绘图上下文都会记录自己的属性,除非你重置过它. 2.fillRect(x,y,width,height)绘制一个矩形,并以当前的fillStyle来填充. 3.srtokeStyle和fillS

Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)

1.首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitmap), a drawing primitive (e.g. Rect, Path,

JavaScript实现使用Canvas绘制图形的基本教程_javascript技巧

由于这两年HTML5火的正热,所以研究了一下,最近有个想法也是要用到HTML的相关功能,所以也要好好学习一把. 好好看了一下Canvas的功能,感觉HTML5在客户端交互的功能性越来越强了,今天看了一下Canvas绘图,下边是几个实例,记下以备后用. 1.使用Canvas绘制直线: <!doctype html> <html> <head> <meta charset="UTF-8"> </head> <style ty

jQuery插件Flot学习Canvas绘制图形的原理

Flot采用Canvas绘制图形(Web总共就有三种常见方式来绘制图形,不了解的同学请看这篇文章),在数据量非常大的时候,你需要考虑浏览器端的性能问题.顺便提一句,D3是采用SVG来绘制图形的,从我自己的体会来说,对于拖动图来说,SVG会比较流畅. 首先介绍一下数据的格式.数据来自一个数组嵌套的JSON格式,如:  代码如下 复制代码 [[0, 3], [4, 8], [8, 5], [9, 13]] 这就给定了一个二维图上供绘制连线的几个点. 数据可以直接通过API传给Flot,让它自行决定数

Android开发使用自定义View将圆角矩形绘制在Canvas上的方法

本文实例讲述了Android开发使用自定义View将圆角矩形绘制在Canvas上的方法.分享给大家供大家参考,具体如下: 前几天,公司一个项目中,头像图片需要添加圆角,这样UI效果会更好看,于是写了一个小的demo进行圆角的定义,该处主要是使用BitmapShader进行了渲染(如果要将一张图片裁剪成椭圆或圆形显示在屏幕上,也可以使用BitmapShader来完成). BitmapShader类完成渲染图片的基本步骤如下: 1.创建BitmapShader类的对象 /** * Call this

源代码-在WPF中Canvas 绘制图形的平移、缩放

问题描述 在WPF中Canvas 绘制图形的平移.缩放 我在WPF中(C#)Canvas中画了N多条线段.圆.文字.现在我想用鼠标滚轮以鼠标指针为缩放点同时缩放Canvas中的所有图形,鼠标左键按下能同时平移所有图形.该怎么做,我写出来的缩放是以左上角为原点的,平移时会跳动. 当Canvas大小改变时整个Canvas里的图形会等比例的放大缩小. 1.缩放时Canvas大小不得改变,只是缩放图形 2.能同时支持鼠标和平板触屏操作平移缩放. 3.给源代码最好.** 谢谢各位老师 解决方案 1:了解W