Loading cmds/screencap/screencap.cpp +17 −5 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ static void usage(const char* pname) "usage: %s [-hp] [-d display-id] [FILENAME]\n" " -h: this message\n" " -p: save the file as a png.\n" " -j: save the file as a jpeg.\n" " -d: specify the display id to capture, default %d.\n" "If FILENAME ends with .png it will be saved as a png.\n" "If FILENAME is not given, the results will be printed to stdout.\n", Loading Loading @@ -92,13 +93,17 @@ int main(int argc, char** argv) const char* pname = argv[0]; bool png = false; bool jpeg = false; int32_t displayId = DEFAULT_DISPLAY_ID; int c; while ((c = getopt(argc, argv, "phd:")) != -1) { while ((c = getopt(argc, argv, "pjhd:")) != -1) { switch (c) { case 'p': png = true; break; case 'j': jpeg = true; break; case 'd': displayId = atoi(optarg); break; Loading @@ -122,8 +127,14 @@ int main(int argc, char** argv) return 1; } const int len = strlen(fn); if (len >= 4 && 0 == strcmp(fn+len-4, ".png")) { if (len >= 4) { if (0 == strcmp(fn+len-4, ".png")) { png = true; } else if (0 == strcmp(fn+len-4, ".jpg")) { jpeg = true; } else if (len > 4 && 0 == strcmp(fn+len-5, ".jpeg")) { jpeg = true; } } } Loading Loading @@ -173,14 +184,15 @@ int main(int argc, char** argv) } if (base) { if (png) { if (png || jpeg) { const SkImageInfo info = SkImageInfo::Make(w, h, flinger2skia(f), kPremul_SkAlphaType); SkBitmap b; b.installPixels(info, const_cast<void*>(base), s*bytesPerPixel(f)); SkDynamicMemoryWStream stream; SkImageEncoder::EncodeStream(&stream, b, SkImageEncoder::kPNG_Type, SkImageEncoder::kDefaultQuality); png ? SkImageEncoder::kPNG_Type : SkImageEncoder::kJPEG_Type, SkImageEncoder::kDefaultQuality); SkData* streamData = stream.copyToData(); write(fd, streamData->data(), streamData->size()); streamData->unref(); Loading Loading
cmds/screencap/screencap.cpp +17 −5 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ static void usage(const char* pname) "usage: %s [-hp] [-d display-id] [FILENAME]\n" " -h: this message\n" " -p: save the file as a png.\n" " -j: save the file as a jpeg.\n" " -d: specify the display id to capture, default %d.\n" "If FILENAME ends with .png it will be saved as a png.\n" "If FILENAME is not given, the results will be printed to stdout.\n", Loading Loading @@ -92,13 +93,17 @@ int main(int argc, char** argv) const char* pname = argv[0]; bool png = false; bool jpeg = false; int32_t displayId = DEFAULT_DISPLAY_ID; int c; while ((c = getopt(argc, argv, "phd:")) != -1) { while ((c = getopt(argc, argv, "pjhd:")) != -1) { switch (c) { case 'p': png = true; break; case 'j': jpeg = true; break; case 'd': displayId = atoi(optarg); break; Loading @@ -122,8 +127,14 @@ int main(int argc, char** argv) return 1; } const int len = strlen(fn); if (len >= 4 && 0 == strcmp(fn+len-4, ".png")) { if (len >= 4) { if (0 == strcmp(fn+len-4, ".png")) { png = true; } else if (0 == strcmp(fn+len-4, ".jpg")) { jpeg = true; } else if (len > 4 && 0 == strcmp(fn+len-5, ".jpeg")) { jpeg = true; } } } Loading Loading @@ -173,14 +184,15 @@ int main(int argc, char** argv) } if (base) { if (png) { if (png || jpeg) { const SkImageInfo info = SkImageInfo::Make(w, h, flinger2skia(f), kPremul_SkAlphaType); SkBitmap b; b.installPixels(info, const_cast<void*>(base), s*bytesPerPixel(f)); SkDynamicMemoryWStream stream; SkImageEncoder::EncodeStream(&stream, b, SkImageEncoder::kPNG_Type, SkImageEncoder::kDefaultQuality); png ? SkImageEncoder::kPNG_Type : SkImageEncoder::kJPEG_Type, SkImageEncoder::kDefaultQuality); SkData* streamData = stream.copyToData(); write(fd, streamData->data(), streamData->size()); streamData->unref(); Loading