According to the PNG ref page, it is possible to generate PNG with 8 or 16 BitDepth. I cannot find a way to impose 16 for a graphics generated by Plot. Here is the example:
gr = Plot[Cos[x], {x, -4, 4}, Filling -> Bottom];
png=Export["test.png", gr, "BitDepth" -> 16];
Import[png, "BitDepth"]
(* out *)
8
Thanks
Plot
example, was really only an example, it probably doesn't matter for the use case of the OP whether images are only displayed with 8 bit. In image processing it is often important that you can transport 16bit information in the image even if it is not displayed. One application is a component label image. $\endgroup$