Move DM png code to picture_utils, for use by other tools.

Planning to re-use this code in skiaserve in an upcoming change.

TBR=mtklein@google.com

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1901113002

Review URL: https://codereview.chromium.org/1901113002
diff --git a/tools/picture_utils.h b/tools/picture_utils.h
index 1373020..49a2c82 100644
--- a/tools/picture_utils.h
+++ b/tools/picture_utils.h
@@ -8,7 +8,9 @@
 #ifndef picture_utils_DEFINED
 #define picture_utils_DEFINED
 
-class SkBitmap;
+#include "SkBitmap.h"
+
+class SkData;
 class SkString;
 
 namespace sk_tools {
@@ -47,6 +49,12 @@
     bool write_bitmap_to_disk(const SkBitmap& bm, const SkString& dirPath,
                               const char *subdirOrNull, const SkString& baseName);
 
+    // Return raw unpremultiplied RGBA bytes, suitable for storing in a PNG. The output
+    // colors are assumed to be sRGB values. This is only guaranteed to work for the
+    // cases that are currently emitted by tools:
+    // Linear premul 8888, sRGB premul 8888, Linear premul F16
+    sk_sp<SkData> encode_bitmap_for_png(SkBitmap bitmap);
+
 } // namespace sk_tools
 
 #endif  // picture_utils_DEFINED