首页 > 编程知识 正文

智能屏幕旋转apk,智能旋转支架设置教程

时间:2023-05-04 18:39:47 阅读:129703 作者:62

前两天刚写了自己的博客,写了介绍性的文章。 《极简博客搭建,搭建超级简单又好看》。 这几天,我打算为了体验这个博客写文章。 无论是写作还是展示效果,都发现非常符合我的品味,太棒了。

直到今天我才上传照片,那里有这篇文章。

因果关系一般来说,我写博客时图片会直接上传到文章中,上传的大小可能不太适合在文章中显示。 可以打开PS,也可以剪切一部分上传。 这将减慢写博文的速度。 我想有没有在线应对的方法。 这样,就没有了修改简单照片的烦恼。

虽然互联网上也有很多现成的界面,但对于像我们这样想掌握核心技术的人来说,这满足不了我们的欲望。 定制性太小,这个解决方案就做好了。

还没有服务器吗? 快拿一张高价优惠券

“效果预览”允许裁剪、旋转和执行jpeg、png、webp (仅限解码)、tiff和gif图像格式(包括gif动画)。 更多效果,快速向下滑动,查看其他操作的效果图。

和以前的文章一样,这篇文章也尽量通俗易懂,使使用的命令尽可能简单,让更多的人可以使用方便的服务。

主要使用的工具Docker开源库imageproxy (不需要具体了解,没有安装配置等其他操作。 这里写的只是为了让想DIY的朋友知道核心功能。 )启动服务以安装Docker (忽略已安装)。

中心系统

Windows

Mac

启动服务非常简单,而且可以很容易地使用Docker命令运行服务。 开始图像处理服务

mkdir -p /data/image

docker run---- restart always---name image-service-p 808033608080-v/data/image :/image-dwillnoris/imith

当然,如果不想在本地保存图像,可以运行以下命令

docker run---- restart always---name image-service-p 808033608080-dwillnorris/image proxy-addr0.0. 033608080808080 这意味着参数解释(不关心的不用看,可直接看第 3 步):将为您的程序命名,以确保程序死后自动重新启动并继续提供服务。 image-service可以替换为任何名称docker run: 这意味着将你的本地目录放在程序中使用。 注意:此目录是存储容器中图像的文件夹,在此操作是mldpkq删除此容器时,您获取的图像将直接提供服务,无需取回图像。 3358 www.Sina.com/http://www.Sina.com/:将容器中的一个端口映射到您的主机计算机(3358 www.Sina.com/(http://www.com/) : )镜像内参数(即您的程序提供的可配置参数)、设置图像缓存位于容器中的/image文件夹的您的计算机的/data/image http://www.Sina.com/也就是你的程序提供的可配置参数)绑定到容器中的0.0.0.0ip )或所有ip ) 8080端口。 对应于你机器的8080端口。 这取决于你-p参数。 本文使用的测试图像地址:http://www.pic loud.me/images/2015/03/29/fcfc 854 b 160 e F5 ADB 93006 a 02352 b 647.jpg

到此为止你开始服务了。 已经可以充分达到效果了。 下面介绍了使用方法。

主要使用方法http://localhost :8080/{ options }/{ remote _ URL } http://www.Sina.com /

{options} -需要调整目录图像

{remote_url} -原始图形地址

示例: http://localhost :8080/800 x/http://www.pic loud.me/images/2015/03/29/fcfc 854 b 160 e F5 ADB 93006 a 02352 b 647.jpfc

可以自由修改当前的**{options}

**在当前URL中就是800x,可以换成100x,200x, 200x300看看具体效果,下面我们来讲一下 {options}部分可以怎么配置,来达到智能裁剪、旋转、占位等效果。

现在你的图片处理服务已经启动了。当然图片每一次加载的时候会有点慢,因为第一次访问时需要去目标地址把图片下载到本地,而后通过你的链接提供服务。当然你加了文件缓存后,只要地址不变,你的图片将会通过本地提供服务,而不会再去远端下载。聪明的你可能已经尝试了一些参数来达到你想要的效果了,也可能知道占位功能如何实现了,那么下面我们就详细看下有哪些参数可以配置,能达到怎样华丽的效果。 参数详解 定宽,高度自适应
{多少像素}x
例:200x、800x(上面例子就是使用了这个参数) 高度的百分之多少,宽度自适应
x{百分比}
例:x0.15(高度的 15%) 、x0.8(高度的 80%) 按固定宽高裁剪图片(这个用来做点位图再好不过了,随便选张图,占位无难度)
{宽度}x{高度}
例:400x300生成 400px * 300px的图片,自动裁剪 正方形图片(生成头像的时候很有用)
{数字}
例:96(生成 96*96 的头像) 第二个参数
之前说的都是只有一个参数,有时你可能需要旋转一下,或者翻转一下,传第二个参数可以达到你想要的效果。 翻转图片

600,fh这里的参数表示生成一个 600*600且左右翻转,如果想要水平翻转,可以使用 fv,或者两个一起使用,变成 600,fv,hv,当然你也可以和前面的 1,2,3,4讲到的参数配合使用。

旋转图片

r90逆时针旋转 90度, 这里的度数只能是 90, 180, 270其它的不生效。注意:图片有一个 EXIF 属性,此属性是图片内置的方向属性,当前服务使用的工具已经自动旋转成原始的方向了,相关资料可以自己查一下,关键字:图片 EXIF 属性

图片质量

q80设置图片为 80%的质量(默认质量为 95%)图片质量越小,图片的大小会更小,可以节省带宽、提高加载加载图片的速度。

截取图片中的一部分

cx600,cy500,cw300,ch300,100这部分参数就很有意思了,c你可以认为是裁剪,这样x, y和w, h就组成两个坐标(600,500),(300,300),表示从这张图片的(600,500)开始,截取一张 300px*300px的图片, 后面的 100是之前 第4 点说到的,缩放到正方形,这样就有了如下的效果。当然这些参数也可以和之前的共用,也没有顺序的关系。

智能裁剪

sc加入此参数,可以实现智能裁剪。可以做到图片感知扩展,压缩扩展人脸不变形(人脸感知),不过这个我感觉可以优化一下,试了下效果没那么好。

服务命令启动参数

当前我们使用了-cache /image -addr 0.0.0.0:8080这两个启动参数,在参数介绍里已经介绍过了,这里我们来说明一下 -cache这个 flag, 现在这个是直接传了文件给它,实现了把图片缓存到了本地文件。这里还可以缓存到以下地方:

缓存 缓存到内存
-cache memory:200:4h缓存到内存,最大内存使用为 200MB, 且最多缓存 4 小时。容量和过期时间可选,也可以不指定-cache memory,默认使用100MB内存。缓存到亚马逊存储
s3 URL (例:s3://region/bucket-name/optional-path-prefix)
3.缓存到 Google 云
gcs URL (例:gcs://bucket-name/optional-path-prefix)缓存到微软的世纪互联
azure URL (例: azure://container-name/)
如果是存到世纪互联,你需要提供两个环境变量:
AZURESTORAGE_ACCOUNT_NAME(account name)
AZURESTORAGE_ACCESS_KEY(access key)缓存到 Redis
redis URL (例:redis://hostname/)
如果 redis 有密码,需要环境变量
REDIS_PASSWORD 服务拉取远端使用的 referrers

可以通过 -referrers example.com来设置

限制图片拉取的站

-remoteHosts example.com,example1.com设置只从example.com, example1.com获取图片,其它的源图地址将不被服务。这样可以防止别人恶意使用你的服务。

小结

到这里,你已经可以为你的博客或其它提供高定制化的图片服务了,包括裁剪、旋转等功能。这样,很多修图的工作就可以放到这个服务里去做。当然,这个服务还有很多小的问题,比如感觉裁剪扩充效果不好,估计作者也在优化。如果长期没有动作的话,我倒可以写一个类似功能的,如果有机会,可以在后期的博客中与大家见面。

还有就是缓存的地点基本是国外的服务,像国内的七牛、阿里 OSS、腾讯等云存储没有接入,这方面都有现在的库,如果自己使用可以自行接入。

有任何问题欢迎评论讨论,也可私信我。

当前服务比较耗资源,如果要布当前服务的话,不要选择有 cpu 限制的服务器。
还没有服务器?快领取一张高额优惠券

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。