- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 Pebble 上显示 128px * 128px 的图像,该图像是通过 AppMessage 从 Android 发送的。
在 Android 应用程序中,我有一个 BitmapFactory ARGB_8888
bmp,我这样做:
byte pbi[] = new byte[16*128];
for(int i = 0; i < 128; i++) {
for(int j = 0; j < 128; j++) {
if(bmp.getPixel(i, j) >= 0x7FFFFFFF) {
pbi[i*16] |= 1 << (j % 8); //set pixel (white)
}
pbi[i*16] &= ~(1 << (j % 8)); //explicitly set = 0 (black)
}
}
PebbleDictionary data;
byte send[];
for (int k = 0; k < 128; k++){
data = new PebbleDictionary();
send = new byte[16];
send = Arrays.copyOfRange(pbi, k*16, (k+1)*16-1);
data.addBytes(KEY_IMG, send);
data.addInt16(KEY_ROW, (byte)k);
PebbleKit.sendDataToPebble(getApplicationContext(), PEBBLE_APP_UUID, data);
}
卵石有:
static int transNum;
static uint8_t received[128][16] = {0};
static void in_received_handler(DictionaryIterator *iter, void *context) {
Tuple *img_tuple = dict_find(iter, KEY_IMG);
Tuple *row_tuple = dict_find(iter, KEY_ROW);
if (img_tuple && row_tuple) {
memcpy(img_data[(int)(row_tuple->value->cstring)], img_tuple->value->data, 16);
}
}
应通过以下方式显示:
static void window_load(Window *window) {
static Window *window;
static BitmapLayer *img_layer;
static GBitmap img;
static void window_load(Window *window) {
L img_layer = bitmap_layer_create( (GRect) {
.origin = {8, 20},
.size = {128, 128}
});
img = (GBitmap) {
.addr = img_data,
.bounds = GRect(8, 20, 128, 128),
.row_size_bytes = 16,
};
bitmap_layer_set_bitmap(img_layer, &img);
bitmap_layer_set_alignment(img_layer, GAlignCenter);
layer_add_child(window_get_root_layer(window), bitmap_layer_get_layer(img_layer));
display_no_img();
}
但是在 window_load
上,我得到了预期的黑色方 block ,但我不知道如何让它加载接收到的数据。
编辑:我很难保持上面的代码更新,但它很有代表性。我希望有人能告诉我该怎么做才能加载接收到的字节。我以为 secret 在 .addr = img_data
中,唉..谢谢。
最佳答案
您应该看看 Pebble-faces example 。它使用 JavaScript,但您可能可以完全重用 C 部分,只需更改电话代码。
关于java - 通过 AppMessage 在 Pebble 上显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22244459/
我希望更清楚地了解影响传入 watch 的应用消息的最大允许大小的因素。 SDK 保证有效的最大大小为 124 字节,the docs说“在某些情况下,Pebble 可能能够为您的应用程序提供更大的收
标题总结了它。同样的问题是here .在 SO 上发帖看看我是否能得到任何帮助。我还做了一个 almost minimal project为了演示我面临的问题,因此后面的链接指向所提到的代码段。 没什
我尝试从 Pebble 向 JS 应用程序发送一条简单的消息,但它总是失败,并显示错误代码 APP_MSG_SEND_TIMEOUT。然而,从 JS 向设备发送消息就像一个魅力。这是我的代码: app
我正在尝试在 Pebble 上显示 128px * 128px 的图像,该图像是通过 AppMessage 从 Android 发送的。 在 Android 应用程序中,我有一个 BitmapFact
我正在尝试使用 Pebble SDK,并且想从网络读取太阳能数据。我已经成功地完全用 JS 构建了一个应用程序。看这个link 。 由于我发现 JS 存在一些限制,因此我正在用 C 重写代码。当通过J
在 Watch 上我发送这样的 AppMessage DictionaryIterator *iter; app_message_outbox_begin(&iter); Tuplet value =
我是一名优秀的程序员,十分优秀!