some comments…
The output is a function of the input… You decide…
If your PNG is crude (default of 96dpi) you will get crude results.
If your PNG is refined (let’s say to 500dpi) you will get finer resolution results.
Example (I used Inkscape for this but, most any graphics app will do it):
Image 1 exported @ 96dpi
Image 2 exported @ 500dpi
Both inserted into a Silkscreen Image part and exported…
Results: