Comments (5)
I think you generally get an image which is the same pixel size as the declared dimension of the surface. So one answer to your question is probably just drawing on a larger surface. One other possibility is the SamplingOptions
class, which is a translation of the upstream SkSamplingOptions
class. This is used as an argument to many image-related methods. In skia-python we only provides the default at the moment, but it won't surprise me that upstream has a resolution-doubling etc option. If you look at the upstream documentation and see if you can find what you need there, we can put it in the next (122) release. A 3rd possibility is to output as one of the vector formats (svg, ps, pdf etc) and rasterize externally with mupdf/batik/ghostscript. For that, you need to worry about pen width, etc.
from skia-python.
The SamplingOptions class seems to have a number of enums, kLinear
and kNearest
for interpolation. I don't know which might be relevant to you (or none), but if you are trying to draw a bitmap onto a surface that is not exactly the same pixel dimension as the bitmap, you might find changing from kLinear to KNearest or vice versa more suited to your needs.
from skia-python.
Thanks for your quick reply.
What I am actually looking for is that how I can use the following methods mentioned in the documentation:
image = surface.makeImageSnapshot()
image.save('output.png', skia.kPNG)
and get a figure saved with a higher quality than the one I currently get? Is there a way like increasing the dpi of the created image there?
from skia-python.
Well, I wrote everything in my initial reply already: easiest would be starting from a larger surface. 2nd way is to use image.resize()
, which takes a SamplingOption
argument for interpolation. If the current python interface to the upstream SkSamplingOption
class is insufficient and you see things upstream we could add, we'll add it for next release. Upstream docs at api.skia.org or something similar.
from skia-python.
https://api.skia.org/structSkSamplingOptions.html
from skia-python.
Related Issues (20)
- Raspberry Pi 4 Support (linux 32-bit arm) HOT 8
- Newer system gets an extra skip on exit in testing HOT 2
- AttributeError: 'skia.Paint' object has no attribute 'setTextScaleX' HOT 1
- How to underline and strikethrough fonts? HOT 4
- Binding the skparagraph module
- Mac font is thicker than Linux font HOT 3
- Missing `skia.TableColorFilter.MakeARGB` equivalent in latest builds HOT 9
- deprecation of `distutils`upstream for python >= 3.12 HOT 8
- m122: SkFontMgr::RefDefault() has been deleted HOT 5
- Missing `getBlendMode` on `skia.Paint` objects HOT 7
- "instance = class() ; instance.initGL()" vs "instance = class.MakeGL()
- rgb r and b are working in reverse fashion... HOT 1
- rgb r and b are working in reverse fashion... HOT 1
- Improve SamplingOptions, and adding test cases HOT 7
- Identify what breaks in m122 for font(typeface("")) on mac os HOT 7
- Support for Python 3.12 HOT 2
- Build for python3.21 HOT 1
- "Shader Compilation Error" HOT 12
- python3.7 could not pip install skia-python HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from skia-python.