支持html5播放器的浏览器有哪些?

支持html5播放器的浏览器有哪些?,第1张

主流浏览器对html5的支持情况:

(1)Chrome,Firefox:支持html5很多年,而且有自动升级,支持最好。

(2)Safari,Opera:同样支持html5很多年,支持也很好。

(3)IE:IE10起比较好了,之前很差。

资料来源航歌网,其他浏览器则根据内核为准。网上有专门的H5兼容性测试网站,由于回答策略的限制无法发送链接,自己找找就有了

FormFollowsFunction就是一个展示HTML5实现的网站,目前网站展示了14个作品,其中包括了交互 *** 作以及视觉效果。这些效果本身并不是一个完整的产品,但是加入到产品中就能让产品生色不少。以下是百分网小编搜索整理的关于14个基于HTML5实现的特效,供参考借鉴,希望对大家有所帮助!

1、散景(Bokeh)

一种图像的焦外效果,通过HTML5实现的这种效果可以加载在背景、字体浮现。

2、3D效果

3D西红柿罐头汤,可通过鼠标进行旋转 *** 作,同时底部有一个倒影效果,一个很优秀的交互效果示范。

3、宇宙全景图

设定整个宇宙的场景,可以用360度观察整个宇宙星云,这种实现方式呈现出的效果更接近Google的街景地图。

4、像素化效果

这种效果用于图片很有趣,而实际可利用到的领域,还有待探索。

5、螺旋效果

字体的旋转效果,简单的近乎一张GIF图片,不过通过对文章的替换,可以轻易的转换成各种各样的文案展示。

6、结晶化滤镜

通过鼠标可选择结晶化的范围,用于网页可对界面直接做出更多的交互视觉效果。

7、色相混合

随着鼠标移动而改变各个位置的色相,一种很简单就能汇聚用户视线的交互效果,不过在简单的背景才更能体现这种效果的价值。

8、翻转时钟

一种时钟的展示效果,结构非常简单,而看上去也很清晰明了,适合嵌入到很多不同的页面中作为实时时间的展示。

9、水纹倒影

一种视觉效果,在这个Demo中可以调节倒影波动的速度。这种效果适合制作Logo以及主页的展示。

10、自由落体

“下雨的人”展示了一种自由落体的效果,可以用鼠标条件调节飘落的角度,提供了一种带有物理效果的交互 *** 作。这种功能特别用于游戏。

11、水面波纹

同样是一种物理效果,可通过鼠标刺激水面波纹,在网页上就能轻松实现。

12、树的成长

一种应激 *** 作的交互方式,点击一次长出一棵树,可用于网页展示的附加效果。这种效果在视觉上有多种用法,网页、游戏都可以。

13、字母雨刷

在屏幕上扫除字母的雨刷效果,初次看见感觉像是网页刷新的过度画面。

14、渐显效果

通过一些杂乱无章的线逐渐显现出一幅画,中间的显现过程很适合作为网页加载的等待界面。

要想通过HTML5实现IOS7的毛玻璃模糊效果需要用代码来执行

//加模糊效果,image是图片,blur是模糊度

- (UIImage *)blurryImage:(UIImage *)image withBlurLevel:(CGFloat)blur {

//模糊度,

if ((blur <0.1f) || (blur >2.0f)) {

blur = 0.5f

}

//boxSize必须大于0

int boxSize = (int)(blur * 100)

boxSize -= (boxSize % 2) + 1

NSLog(@"boxSize:%i",boxSize)

//图像处理

CGImageRef img = image.CGImage

//需要引入#import <Accelerate/Accelerate.h>

/*

This document describes the Accelerate Framework, which contains C APIs for vector and matrix math, digital signal processing, large number handling, and image processing.

本文档介绍了Accelerate Framework,其中包含C语言应用程序接口(API)的向量和矩阵数学,数字信号处理,大量处理和图像处理。

*/

//图像缓存,输入缓存,输出缓存

vImage_Buffer inBuffer, outBuffer

vImage_Error error

//像素缓存

void *pixelBuffer

//数据源提供者,Defines an opaque type that supplies Quartz with data.

CGDataProviderRef inProvider = CGImageGetDataProvider(img)

// provider’s data.

CFDataRef inBitmapData = CGDataProviderCopyData(inProvider)

//宽,高,字节/行,data

inBuffer.width = CGImageGetWidth(img)

inBuffer.height = CGImageGetHeight(img)

inBuffer.rowBytes = CGImageGetBytesPerRow(img)

inBuffer.data = (void*)CFDataGetBytePtr(inBitmapData)

//像数缓存,字节行*图片高

pixelBuffer = malloc(CGImageGetBytesPerRow(img) * CGImageGetHeight(img))

outBuffer.data = pixelBuffer

outBuffer.width = CGImageGetWidth(img)

outBuffer.height = CGImageGetHeight(img)

outBuffer.rowBytes = CGImageGetBytesPerRow(img)

// 第三个中间的缓存区,抗锯齿的效果

void *pixelBuffer2 = malloc(CGImageGetBytesPerRow(img) * CGImageGetHeight(img))

vImage_Buffer outBuffer2

outBuffer2.data = pixelBuffer2

outBuffer2.width = CGImageGetWidth(img)

outBuffer2.height = CGImageGetHeight(img)

outBuffer2.rowBytes = CGImageGetBytesPerRow(img)

//Convolves a region of interest within an ARGB8888 source image by an implicit M x N kernel that has the effect of a box filter.

error = vImageBoxConvolve_ARGB8888(&inBuffer, &outBuffer2, NULL, 0, 0, boxSize, boxSize, NULL, kvImageEdgeExtend)

error = vImageBoxConvolve_ARGB8888(&outBuffer2, &inBuffer, NULL, 0, 0, boxSize, boxSize, NULL, kvImageEdgeExtend)

error = vImageBoxConvolve_ARGB8888(&inBuffer, &outBuffer, NULL, 0, 0, boxSize, boxSize, NULL, kvImageEdgeExtend)

if (error) {

NSLog(@"error from convolution %ld", error)

}

//NSLog(@"字节组成部分:%zu",CGImageGetBitsPerComponent(img))

//颜色空间DeviceRGB

CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB()

//用图片创建上下文,CGImageGetBitsPerComponent(img),7,8

CGContextRef ctx = CGBitmapContextCreate(

outBuffer.data,

outBuffer.width,

outBuffer.height,

8,

outBuffer.rowBytes,

colorSpace,

CGImageGetBitmapInfo(image.CGImage))

//根据上下文,处理过的图片,重新组件

CGImageRef imageRef = CGBitmapContextCreateImage (ctx)

UIImage *returnImage = [UIImage imageWithCGImage:imageRef]

//clean up

CGContextRelease(ctx)

CGColorSpaceRelease(colorSpace)

free(pixelBuffer)

free(pixelBuffer2)

CFRelease(inBitmapData)

CGColorSpaceRelease(colorSpace)

CGImageRelease(imageRef)

return returnImage

}

这里要注意的是以上的代码会有崩溃的情况

崩溃log:Assertion failed: (!space->is_singleton), function color_space_dealloc, file ColorSpaces/color-space

可以用如下方式来实现

- (UIImage *)applyBlurRadius:(CGFloat)radius toImage:(UIImage *)image

{

if (radius <0) radius = 0

CIContext *context = [CIContextcontextWithOptions:nil]

CIImage *inputImage = [CIImageimageWithCGImage:image.CGImage]

// Setting up gaussian blur

CIFilter *filter = [CIFilterfilterWithName:@"CIGaussianBlur"]

[filter setValue:inputImageforKey:kCIInputImageKey]

[filter setValue:[NSNumbernumberWithFloat:radius] forKey:@"inputRadius"]

CIImage *result = [filtervalueForKey:kCIOutputImageKey]

CGImageRef cgImage = [context createCGImage:result fromRect:[inputImage extent]]

UIImage *returnImage = [UIImageimageWithCGImage:cgImage]

CGImageRelease(cgImage)

return returnImage

}

是要用Canvas显示图片然后对图片进行颜色修改的意思吗?Canvas是可以对图片进行像素级的自定义修改的。

具体来说就是使用getImageData()和putImageData()分别用来获取和插入像素信息(取得的ImageData对象是使用ArrayBuffer来存放数据,你要更改的话按照RGBA顺序来按照你的自定义要求修改每个像素的显示)。再详细到代码层面的话就自己去查API就完事啦。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6294620.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-20
下一篇 2023-03-20

发表评论

登录后才能评论

评论列表(0条)

保存