使用实时更新的卫星照片作为你的桌面壁纸! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
bitdust
V2EX    分享创造

使用实时更新的卫星照片作为你的桌面壁纸!

  bitdust 2015-12-06 21:15:13 +08:00 25786 次点击
这是一个创建于 3602 天前的主题,其中的信息可能已经有所发展或是发生改变。

妈妈说过在标题栏加感叹号会显得很 low ,但是这的确是我发在 V2EX 第一个项目,不得不激动下。

这是一个 C#项目,可以抓取日本的向日葵 8 号卫星每十分钟更新的的地球照片作为桌面壁纸,逼格爆炸。

效果图如下:
向日葵 8 号卫星

项目地址: https://github.com/bitdust/EarthLiveSharp
使用攻略: https://github.com/bitdust/EarthLiveSharp/issues/3

欢迎大家多提宝贵意见!

第 1 条附言    2015-12-06 21:54:14 +08:00

点击 start 后会阻塞式的抓取第一张图片,有可能因为网络问题出现未相应的情况。可以尝试在 Settings 里切换图片的获取地址。默认为 cloudinary 的 CDN 。你可以试试切换为 orgin 原始地址即可。
如果实在不行~我去找找有木有更好的(免费) CDN 服务。

对了,这个壁纸的一大逼格在于可以当作桌面时钟来使用:
* 用晨昏线位置估计当地时间;
* 用太阳入射角度估计四季变化即日期。

如下图所示:
clipboard0156

是不是超赞?

142 条回复    2016-07-27 08:01:05 +08:00
1  2  
v1024
    1
v1024  
   2015-12-06 21:28:34 +08:00
中国国家航天局发来贺电
uuair
    2
uuair  
   2015-12-06 21:37:50 +08:00
可我是 mac 啊……纯支持了!
aitaii
    3
aitaii  
   2015-12-06 21:38:34 +08:00   1
点了 start 就未响应了..
win7 系统
miyuki
    4
miyuki  
   2015-12-06 21:47:40 +08:00 via Android
Earth Federation Space Force 发来贺电
bdbai
    5
bdbai  
   2015-12-06 21:50:40 +08:00 via iPhone   1
建议把每个类都放在单独的文件内,全挤在 Program.cs 会不好找。
wtbhk
    6
wtbhk  
   2015-12-06 22:56:47 +08:00
点 start 并没有设置壁纸, Win 10
Hakusai
    7
Hakusai  
   2015-12-06 23:05:16 +08:00
发来贺电
bitdust
    8
bitdust  
OP
   2015-12-06 23:07:46 +08:00
终于能回复了
@wtbhk
需要手动设置壁纸的,详见: https://github.com/bitdust/EarthLiveSharp/issues/3
@aitaii
还是未响应吗?看看切下 Settings 里的 Source 为 origin 有效果没
bitdust
    9
bitdust  
OP
   2015-12-06 23:10:12 +08:00
@bdbai 我是纯 C#新手,以后的更新中会修改的。
我看“小飞机”项目里用了 MVC 的组织模式,正在学习中。
h4x3rotab
    10
h4x3rotab  
   2015-12-07 08:16:19 +08:00 via iPhone
想移植一个 osx 版
SilentDepth
    11
SilentDepth  
   2015-12-07 09:23:51 +08:00   1
看了实时背景设置方法,这样岂不是让 Windows 在最近数张照片中循环设置为背景,也就是实质上地球照片(对桌面背景来说)并不是按时间顺序刷新的?
GPU
    12
GPU  
   2015-12-07 09:33:37 +08:00   1
@SilentDepth 刚刚想过了说这个问题 , windows 一直循环这几张图片,这样子不算实时了把 。


@楼主 是不是应该 , 如果有图片更新的时候,删除上一张的,把最新的替换过去呢?样子是不是更好。
xiaozigbd
    13
xiaozigbd  
   2015-12-07 09:55:55 +08:00 via iPhone
Mark
vh2h
    14
vh2h  
   2015-12-07 10:51:55 +08:00
创意不错,但貌似还有些 bug ,纯支持一下,等完善好了再试试
awfe
    15
awfe  
   2015-12-07 11:24:25 +08:00
想法不错!
bitdust
    16
bitdust  
OP
   2015-12-07 12:03:07 +08:00   1
@SilentDepth @GPU

由于理解歧义,我还不清楚你们的担心具体是哪个,所以就把自己的考虑全说出来吧:
1.如果你担心桌面背景不会随着图片刷新而刷新,那是多虑了。只要你在第 6 步中点击“全选”按钮的话。那个选中文件夹所有的更新都会被刷到桌面背景上。甚至新增的图片也会被设置成背景。而老的图片的确会被替换掉的。
2.如果你担心以 slideshow 方式展示图片的方法不够实时。这个的确是,我的考虑是这样的:官网的图片刷新间隔是 10 分钟;默认的检查间隔为 7 分钟;桌面的切换间隔是 10 秒钟,默认保存 5 张图片。因此最坏情况,你也能在 10s+7min+50s=8 分钟内看到最新更新的图片。而任何时候你看到的图片都是最近: 5*7min+10min=45min 内更新的!
如果你想要更好的实时性的话,可以调低最大图片数量为 2 ,检查间隔为 5min 。这样任何时候,你都能看到最近 20 分钟内的地球照片啦!

另外,这个工具我是用过一段时间了。一些参数也是总结出来的。为什么要用 slideshow 方式展示?因为这样可以让桌面显得不那么单调。如果有人好奇你的桌面背景是什么的话,你可以让他盯着背景看 10 秒钟,他就会发现:我去,这个地球真的在动诶 o(v)o~~
如果他还不相信这是实时图片的话,你就可以跟他普及下晨昏线与当地时间的关系咯。
bitdust
    17
bitdust  
OP
   2015-12-07 12:04:10 +08:00
@h4x3rotab 可以留个邮箱,我把总结出来的接口发给你~
GPU
    18
GPU  
   2015-12-07 13:07:07 +08:00
@bitdust 我的问题是你说的第二点 。 看过你的解释明白了 , 不错。
    19
SilentDepth  
   2015-12-07 14:29:29 +08:00
@bitdust 明白这个设计的初衷和效果。只是较真一点地想,会出现如下情况:
假设程序 10:00 、 10:11 、 10:22 分别下载得照片 1 、 2 、 3 ,这 3 张照片表示的含义是时间上顺序演进的。 Windows 设置为 1 分钟切换一次( Windows 10 最小设置值),那么就会在 10:21 显示照片 1 , 10:22 显示照片 2 , 10:23 显示照片 3 (刚下载下来的),然后在 10:24 又显示回照片 1 ,给人的感觉就是时间倒退了。
更较真地想,在一个照片刷新周期里,桌面上的地球正在经历着「漫无止境的数十分钟」,想想也是醉了……
说了一大堆废话,我的 point 就是:为什么不设计为获取到最新照片时自动设置为壁纸(就像必应缤纷桌面那样)?至于「我去,这个地球真的在动诶」的功能,我觉得太小众了 = =
bitdust
    20
bitdust  
OP
   2015-12-07 17:30:14 +08:00
@SilentDepth
明白了,我会加上这个功能的。而且一间设置桌面壁纸,的确会比现在手动设置的方式更加方便~
bdbai
    21
bdbai  
   2015-12-07 18:24:49 +08:00 via iPhone   1
@bitdust MVC 适合普通应用,你这个程序的场景并不适合。学做 Windows 应用开发建议上 UWP ,原生的 MVVM 。
me521333
    22
me521333  
   2015-12-07 19:38:23 +08:00
这个时间上确实会出现反复额,上面说的那个获取新图片自动设置壁纸就挺好。
那个,我真的去掉桌面图标盯了十秒,结果我觉得眼睛已经花了分辨不出来地球是不是动了,虽然它真的动了。。。
bitdust
    23
bitdust  
OP
   2015-12-07 22:28:39 +08:00
@me521333
即将更新~
anguslg
    24
anguslg  
   2015-12-08 10:42:02 +08:00
@uuair 给你个曲线救国的方案,使用 dropbox 同步卫星图片, mac 上设置这个同步目录为桌面背景。前提是你得有台一直开机到 windows 23333
0xffff
    25
0xffff  
   2015-12-08 17:37:03 +08:00
好奇那个实时高清卫星图是怎么抓取的。有 API ?还是自己写脚本啊。 @bitdust
endpoint
    26
endpoint  
   2015-12-08 17:53:29 +08:00
一直都只有一张图片- -
bitdust
    27
bitdust  
OP
   2015-12-08 18:09:19 +08:00
@0xffff 留个邮箱,我给你发接口。(最好在 github 留言,这样我可以稍后把你的邮箱信息屏蔽掉,防止隐私泄露)
@endpoint 图片每 10 分钟更新一次,可以耐性等等。不行的话贴下 trace.log 信息。而且这两天我会发出来更稳定新版本。
pepsin
    28
pepsin  
   2015-12-08 18:30:04 +08:00
```
require 'net/http'
def get_url x, y
str = "http://himawari8-dl.nict.go.jp/himawari8/img/D531106/20d/550/2015/12/08/050000_#{x}_#{y}.png"
end

def run
20.times do |x|
20.times do |y|
url = get_url x, y
uri = URI.parse(url)
req = Net::HTTP::Get.new uri.path
res = Net::HTTP.start(uri.host, uri.port, use_ssl: false) do |http|
http.request req
end

file = File.open("himawari_#{x}_#{y}.png", "w+")
file.write(res.body)
end
end
end

run

```

简单写了个抓大图的脚本,拼图请自行研究吧~
pepsin
    29
pepsin  
   2015-12-08 19:00:18 +08:00
require 'net/http'
def get_url time, x, y
str = "http://himawari8-dl.nict.go.jp/himawari8/img/D531106/20d/550/#{time}0000_#{x}_#{y}.png"
end

def run time
ts = []
20.times do |x|
thread = Thread.new do
20.times do |y|
name = "himawari_#{x}_#{y}.png"
unless File.exists? name
url = get_url time, x, y
uri = URI.parse(url)
req = Net::HTTP::Get.new uri.path
res = Net::HTTP.start(uri.host, uri.port, use_ssl: false) do |http|
http.request req
end

file = File.open(name, "w+")
file.write(res.body)
end
end
end
ts.push thread
end
ts.map(&:join)
end

run "2015/12/08/01"

require "cairo"

w = 20
h = 20
time = "05"
partial_width = 550
surface = Cairo::ImageSurface.new(w * partial_width, h * partial_width)
cr = Cairo::Context.new(surface)

w.times do |x|
h.times do |y|
name = "#{time}/himawari_#{x}_#{y}.png"
puts name
png = Cairo::ImageSurface.from_png(name)
cr.set_source(*png)
cr.matrix = Cairo::Matrix.identity
cr.translate(x * partial_width, y * partial_width)
cr.paint()
end
end

cr.target.write_to_png("all.png")
miao1007
    30
miao1007  
   2015-12-08 23:32:39 +08:00
楼上搞 20d 精度要拖垮服务器了,直接 1d 的精度也够用了

```golang
date := time.Now().Add(-21 * time.Minute).In(time.UTC).Format("2006/01/02/1504")
url:= "http://himawari8-dl.nict.go.jp/himawari8/img/D531106/1d/550/" + date[0:len(date)-1] + "000_0_0.png"
fmt.Print(url)
```
bitdust
    31
bitdust  
OP
   2015-12-09 00:00:19 +08:00
GPU
    32
GPU  
   2015-12-09 08:13:33 +08:00
@bitdust 程序的自带更新不可以用?
SilentDepth
    33
SilentDepth  
   2015-12-09 10:21:15 +08:00
为什么只能看到红红的澳大利亚,不开心 :(
GPU
    34
GPU  
   2015-12-09 10:25:00 +08:00
@pepsin
```
require "cairo"

w = 20
h = 20
time = "05"
partial_width = 550
surface = Cairo::ImageSurface.new(w * partial_width, h * partial_width)
cr = Cairo::Context.new(surface)

w.times do |x|
h.times do |y|
name = "#{time}/himawari_#{x}_#{y}.png"
puts name
png = Cairo::ImageSurface.from_png(name)
cr.set_source(*png)
cr.matrix = Cairo::Matrix.identity
cr.translate(x * partial_width, y * partial_width)
cr.paint()
end
end

cr.target.write_to_png("all.png")
```
行段的候 。去到就 killed 了。
05/himawari_14_3.png
Killed
GPU
    35
GPU  
   2015-12-09 10:31:56 +08:00
@pepsin 事了 ,估是 vps 性能不被母 kill 了。 了一 10 核的就搞掂了。
GPU
    36
GPU  
   2015-12-09 10:33:53 +08:00
我的哦。 搞了一 20d 精度的。 174M 啊啊啊啊 。核 CPU 搞不到,要弄了 10 核的才不卡。
pepsin
    37
pepsin  
   2015-12-09 12:56:48 +08:00
@miao1007 我本地 MBP 搞着玩的,不高清不好玩
GPU
    38
GPU  
   2015-12-09 14:09:19 +08:00
@bitdust 什候支持更高精度的地球?
@pepsin 我片的第一行去到了最後一行呢?
pepsin
    39
pepsin  
   2015-12-09 14:27:38 +08:00
@GPU 啊。估计我失误了。我之前还以为那是倒影。
GPU
    40
GPU  
   2015-12-09 14:31:18 +08:00
@pepsin 太空怎会有倒影 。 捂脸
GPU
    41
GPU  
   2015-12-09 14:32:49 +08:00
@pepsin 顺便想请教一下 ` 20.times do ` 是什么来的, while 循环吗? 

没学过 ruby 看不懂代码.想改写一个 python 的.
bitdust
    42
bitdust  
OP
   2015-12-09 14:41:52 +08:00
@GPU 下次更新吧~我先观察下我的 CDN 扛得住流量扛不住
pepsin
    43
pepsin  
   2015-12-09 14:48:09 +08:00
@GPU 类似于 for (i=0;i < 20;i++)
miao1007
    44
miao1007  
   2015-12-09 15:06:46 +08:00
搞了个 shell 的,使用的 1d 精度,在 RMBP 下效果还可以

<script src="https://gist.github.com/miao1007/54a2bdb012c643e9f826.js"></script>
uuair
    45
uuair  
   2015-12-09 15:11:01 +08:00 via iPhone
@anguslg 可行啊,但是我只有 mac 跟 linux ,哎
GPU
    46
GPU  
   2015-12-09 15:34:42 +08:00
@pepsin 第一行去到最后一行的,改好了吗?
pepsin
    47
pepsin  
   2015-12-09 15:54:04 +08:00
@GPU 暂时没时间,你自己调整调整呗。我贴个新版的

require 'net/http'
require "cairo"

def get_url time, x, y
str = "http://himawari8-dl.nict.go.jp/himawari8/img/D531106/20d/550/#{time}00_#{x}_#{y}.png"
end

def merge time
puts "Start image process"
w = 1
h = 20
partial_width = 550
surface = Cairo::ImageSurface.new(w * partial_width, h * partial_width)
cr = Cairo::Context.new(surface)

arr = []
w.times do |x|
h.times do |y|
name = "himawari_#{x}_#{y}.png"
arr.push name
puts name
png = Cairo::ImageSurface.from_png(name)
cr.set_source(*png)
cr.matrix = Cairo::Matrix.identity
cr.translate(x * partial_width, y * partial_width)
cr.paint()
end
end

cr.target.write_to_png("#{time.split("/").join("_")}.png")
cr.destroy
surface.destroy
arr.each do |file|
# File.delete file
end
end

def run time
merge_name = time.split("/").join("_") + ".png"
unless File.exists? merge_name
ts = []
1.times do |x|
thread = Thread.new do
20.times do |y|
name = "himawari_#{x}_#{y}.png"
unless File.exists? name
url = get_url time, x, y
uri = URI.parse(url)
req = Net::HTTP::Get.new uri.path
res = Net::HTTP.start(uri.host, uri.port, use_ssl: false) do |http|
http.request req
end

file = File.open(name, "w+")
file.write(res.body)
file.close
end
end
end
ts.push thread
end
ts.map(&:join)
sleep 30
end

unless File.exists? merge_name
merge time
end
end

# 24.times do |hour|
# hour = hour.to_s
# if hour.length < 2
# hour = "0" + hour
# end
# 6.times do |minute|
# minute = (minute * 10).to_s
# if minute.length < 2
# minute = "0" + minute
# end
# str = "2015/12/01/" + hour + minute
# puts str
# run str
# end
# end

run "2015/12/01/0000"
pepsin
    48
pepsin  
   2015-12-09 15:54:49 +08:00
@GPU 之前你 VPS 崩掉估计是我忘了释放内存了。 Cairo 的 Surface 在 20D 精度还是蛮大的。
GPU
    49
GPU  
   2015-12-09 16:06:37 +08:00
@pepsin 11000 x 11000 的像素呢.
aitaii
    50
aitaii  
   2015-12-09 16:52:00 +08:00
1.0 版的是没有启动程序吗。。。。
aitaii
    51
aitaii  
   2015-12-09 16:54:41 +08:00
看了一下 .7z 的有
.zip 的好像没有呢
bitdust
    52
bitdust  
OP
   2015-12-09 16:57:04 +08:00
@aitaii 那个 zip 是 github 自动生成的代码包,并不是可执行程序。
7z 里是编译好的可执行程序。
aitaii
    53
aitaii  
   2015-12-09 16:59:28 +08:00
@bitdust 感谢解答。
pepsin
    54
pepsin  
   2015-12-09 17:15:28 +08:00
@GPU require 'net/http'
require "cairo"

def get_url time, x, y
str = "http://himawari8-dl.nict.go.jp/himawari8/img/D531106/20d/550/#{time}00_#{x}_#{y}.png"
end

def merge time
puts "Start image process"
w = 20
h = 20
partial_width = 550
surface = Cairo::ImageSurface.new(w * partial_width, h * partial_width)
cr = Cairo::Context.new(surface)

arr = []
h.times do |y|
w.times do |x|
name = "himawari_#{x}_#{y}.png"
arr.push name
puts name
png = Cairo::ImageSurface.from_png(name)
cr.set_source(*png)
cr.matrix = Cairo::Matrix.new(1,0,0,1,x * partial_width, y * partial_width)
cr.paint()
end
end

cr.target.write_to_png("#{time.split("/").join("_")}.png")
cr.destroy
surface.destroy
arr.each do |file|
File.delete file
end
end

def run time
merge_name = time.split("/").join("_") + ".png"
unless File.exists? merge_name
ts = []
20.times do |x|
thread = Thread.new do
20.times do |y|
name = "himawari_#{x}_#{y}.png"
unless File.exists? name
url = get_url time, x, y
uri = URI.parse(url)
req = Net::HTTP::Get.new uri.path
res = Net::HTTP.start(uri.host, uri.port, use_ssl: false) do |http|
http.request req
end

file = File.open(name, "w+")
file.write(res.body)
file.close
end
end
end
ts.push thread
end
ts.map(&:join)
sleep 5
end

unless File.exists? merge_name
merge time
end
end

24.times do |hour|
hour = hour.to_s
if hour.length < 2
hour = "0" + hour
end
6.times do |minute|
minute = (minute * 10).to_s
if minute.length < 2
minute = "0" + minute
end
str = "2015/12/01/" + hour + minute
puts str
run str
end
end

# run "2015/12/01/0000"
pepsin
    55
pepsin  
   2015-12-09 17:15:50 +08:00
@GPU 修复了那个顶部错位的玩意
GPU
    56
GPU  
   2015-12-09 17:23:57 +08:00
@pepsin 把三版本的代都上到了 gist
https://gist.github.com/p0we7/5783db11ec2ddeb67d14.\
wzqcongcong
    57
wzqcongcong  
   2015-12-09 20:13:05 +08:00
学习下然后做个 mac 版的 : )
blueset
    58
blueset  
   2015-12-09 22:37:44 +08:00
求哪位大神做一个 Chrome New Tab 版本。
Mark24
    59
Mark24  
   2015-12-10 11:22:20 +08:00   1
这是我小时候的梦想……真的
lqzhgood
    60
lqzhgood  
   2015-12-10 12:06:05 +08:00   1
逼格满满,情怀满满
lqzhgood
    61
lqzhgood  
   2015-12-10 12:06:37 +08:00
除了黑色背景 图标有点不搭~~
haiwen
    62
haiwen  
   2015-12-10 13:04:44 +08:00   1
赞,已经用上。:)
CKboss
    63
CKboss  
   2015-12-10 15:58:13 +08:00
import requests
import hashlib
import time


old_md5=''
while True:

json = requests.get('http//himawari8.nict.go.jp/img/D531106/latest.json')
Md5 = hashlib.md5()
json = str(json.content).encode('utf-8')
Md5.update(json)
now_md5=Md5.hexdigest()

print(now_md5)

if old_md5!=now_md5 :
old_md5=now_md5

print(str(json[11:30]))
url_2=''
for i in range(11,30) :
if json[i]==58 :
continue
elif json[i]==45 or json[i]==32 :
url_2=url_2+'/'
else :
url_2+=str(json[i]-ord('0'))
url_1='http://himawari8-dl.nict.go.jp/himawari8/img/D531106/thumbnail/550/'
url_3='_0_0.png'

url = url_1+url_2+url_3
print(url_1+url_2+url_3)

r = requests.get(url)
f = open('/home/xxxx/Pictures/壁纸 /Eath/tt.png','bw')
f.write(r.content)
f.close()

print('picture update')

else :
time.sleep(60)
pepsin
    64
pepsin  
   2015-12-10 17:09:45 +08:00
@GPU https://gist.github.com/pepsin/2332ef243e3285ca68c6 这个才是对的脚本,图片拼接错误也修正了
GPU
    65
GPU  
   2015-12-10 19:39:11 +08:00
@pepsin 哪昨天的不是咩.
pepsin
    66
pepsin  
   2015-12-10 20:18:30 +08:00
@GPU 昨天的不大对,且有内存泄露,现在应该漏的少不少。
GPU
    67
GPU  
   2015-12-10 20:39:24 +08:00
lqzhgood
    68
lqzhgood  
   2015-12-11 10:06:34 +08:00
不知道还有其他卫星开放否
看了一天红红的澳洲……
bitdust
    69
bitdust  
OP
   2015-12-11 13:08:56 +08:00
@lqzhgood 不会有了。全世界已发射的搭载可见光相机的地球同步卫星仅此一家。主要用于观测气象的,即使以后还会发射,八成还是太平洋这个位子或者大西洋上空。
lqzhgood
    70
lqzhgood  
   2015-12-11 14:31:25 +08:00
@bitdust 观察气象条件为什么要在大洋上空呢~
不应该飘到城市上空做天气预报嘛~
不懂。 嘎嘎~


如果可以自定位置,把自己城市居中。
大傍晚的盯着屏幕发呆 上帝视角看着自己灯光闪闪 ~~
咳咳 该醒来搬砖了……
bitdust
    71
bitdust  
OP
   2015-12-11 15:45:28 +08:00
@lqzhgood 这颗是地球同步轨道卫星,所以必须要在赤道上,又是日本发射的,那肯定就是在太平洋赤道上,观测台风比较方便啦。
你在城市上空的话,没法定点的,就看不到这么稳定的图像了~也没有稳定的传输条件的
usb
    72
usb  
   2015-12-11 22:55:04 +08:00
楼主的向日葵 8 号卫星官网的图片看起来都是模糊的云图啊
okmemo
    73
okmemo  
   2015-12-12 10:51:13 +08:00
请问 WIN10 如何设置呀
bitdust
    74
bitdust  
OP
   2015-12-12 11:12:30 +08:00
@usb 你看看网页有选项的,可以看可见光,也可以看红外和水汽分布。你找找可见光选项。
@okmemo 直接下载软件,点 start 不可以吗?
okmemo
    75
okmemo  
   2015-12-12 11:51:19 +08:00
@bitdust win10 的桌面设置和 win7 差好多
NSSimacer
    76
NSSimacer  
   2015-12-12 13:37:14 +08:00
@okmemo 一样的设置啊, Windows 10 亲测可用
killerv
    77
killerv  
   2015-1212 16:48:07 +08:00
不错不错, win10 可以使用
usb
    78
usb  
   2015-12-12 20:56:15 +08:00
明白了,其实是网络问题=_=
可以看到中国诶
usb
    79
usb  
   2015-12-12 20:58:09 +08:00
还有 楼主的下载链接好像下载不了,是需要科学上网?
bitdust
    80
bitdust  
OP
   2015-12-13 02:27:58 +08:00
@usb 用的 github 的托管,确实容易被墙
wd0g
    81
wd0g  
   2015-12-13 06:21:07 +08:00
要是能实时设置 IDE 编写代码的背景图就好了
hjmnoah
    82
hjmnoah  
   2015-12-13 17:50:51 +08:00   1
请问一下 lz 我可以转发你的这个项目到豆瓣吗?(会给出你的 github 链接和你的名字)
bitdust
    83
bitdust  
OP
   2015-12-13 19:53:31 +08:00
@hjmnoah 没问题,欢迎转载。
kenshin
    84
kenshin  
   2015-12-13 20:10:10 +08:00 via Android
很喜欢 LZ 的壁纸,我是 SimpTab 的作者,关于 SimpTab 的介绍就在这个分支,地址不贴了,免得广告嫌疑。
我想在下个版本中加入这个壁纸源,不清楚是否可以?
bitdust
    85
bitdust  
OP
   2015-12-13 20:25:44 +08:00 via Android
@kenshin 哇~欢迎欢迎
不过希望关注一点: 接口的滥用问题。
这个接口毕竟也不是我自己的,人家也是非赢利的小众网站,所以如果我们给服务端增加的压力太大,可能会被封锁的。所以我推荐你使用些免费的 cdn 做图片缓存。
我个人推荐 cloudinary 的 cdn 服务~用他的 fetch 服务方式抓图简直太合适了。(如果你能用我 readme 里的邀请链接就再好不过了)
对了,如果你需要接口的话,可以去我项目里留个邮箱,我把 api 说明发给你~
kenshin
    86
kenshin  
   2015-12-13 20:42:41 +08:00 via Android
@bitdust
okay , LZ 好勤奋,周末也不闲着。手机党不方便,明天我就去 GitHub 上留言。
kenshin
    87
kenshin  
   2015-12-13 20:45:51 +08:00 via Android
@blueset
借到解答你的问题,我准备加到 Simptab 里面。
21grams
    88
21grams  
   2015-12-14 13:57:15 +08:00
求手机版.
bitdust
    89
bitdust  
OP
   2015-12-14 14:53:28 +08:00
@21grams 想过,然后我发现安卓居然没有切换桌面壁纸的 API
还有就是,手机端实时抓图的话,流量 /电量 比较堪忧。
21grams
    90
21grams  
   2015-12-14 15:16:18 +08:00   1
@bitdust 没有吗? 不是有 wallpaperManager 吗?
如果能自定义更新频率的话,流量和电量不就可控了。
bitdust
    91
bitdust  
OP
   2015-12-14 17:48:23 +08:00
@21grams 哦哦,我是想做个改变锁屏壁纸的,这个 API 没找到
29EtwXn6t5wgM3fD
    92
29EtwXn6t5wgM3fD  
   2015-12-15 09:39:05 +08:00 via Android
我大地理专业,看出日期时间日落日出时间太阳直射点太阳高度角~~
XiNGRZ
    93
XiNGRZ  
   2015-12-15 20:48:33 +08:00   1
XiNGRZ
    94
XiNGRZ  
   2015-12-15 22:37:01 +08:00
@bitdust 原生系统的话锁屏就是壁纸…

其实可以判断到只有充电状态和 Wi-Fi 连接下才抓取,平时的话可以稍微拉长间隔并用最低分辨率…
XiNGRZ
    95
XiNGRZ  
   2015-12-16 01:36:44 +08:00 via Android


Android 也是可行的
bitdust
    96
bitdust  
OP
   2015-12-16 04:03:05 +08:00 via Android
@XiNGRZ 哇~是否可以分享下?
ikey
    97
ikey  
   2015-12-16 08:28:58 +08:00
一会安装个试试。
XiNGRZ
    98
XiNGRZ  
   2015-12-16 09:34:54 +08:00


早安,昨晚一直挂念着 Android 版 demo 的运行状况一夜没睡好。

今天调试一下稳定性和界面,估计晚上可以发 Android 版。
amazing4amazing
    99
amazing4amazing  
   2015-12-16 12:26:27 +08:00
@XiNGRZ 同样求分享,感觉棒棒哒
xyangk
    100
xyangk  
   2015-12-16 18:09:50 +08:00   1
我用[python 写了个脚本]( https://github.com/xyangk/EarthLiveSharp),可以在 ubuntu 上运行,每隔十分钟自动更换壁纸
1  2  
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2326 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 51ms UTC 16:03 PVG 00:03 LAX 09:03 JFK 12:03
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86