Comments (5)
Gah. This is what I'm hitting too, converting an image sequence generator to use goroutines. 😦
So far, the code only functions - eg without panicing - if I strip out all calls to MeasureString()
and DrawString*()
, as the DrawString()
functions also call MeasureString()
internally.
Any idea of a workaround? Leaving things to run single-threaded isn't really an option.
Guessing all the text will have to be moved out of the generated frames permanently though. 😦
from gg.
We worked around this by using the Context.LoadFontFace() method instead of the package level method.
from gg.
Thanks @psanford, I'll give that a go. 😄
from gg.
Yep, that works. Awesome stuff @psanford, thank you. 😄
from gg.
As a possibly useful data point, another way to work around it is by moving the same gg.LoadFontFace()
calls inside the goroutines.
It makes sense upon thinking about it, as both approaches are ensuring each goroutine get's it's own font face to work with. So no collision problems.
from gg.
Related Issues (20)
- [Request] Add ability to set compression level for encoder
- Support More Font Formats
- Support Set Font Weight for VF (Variable Fonts) HOT 4
- Opition to turn anti-aliasing off ? HOT 1
- Context SetTransform / GetTransform / ApplyTransform
- Why not add interface about return the IM
- How to Spread Text Watermarks on an Entire Picture HOT 1
- Is this library faster than setting pixels in image.Image?
- Allow to reset mask.
- Draw a shape with empty space inside. HOT 1
- Watermark with "fogleman/gg" HOT 4
- Improvement to output files HOT 2
- Is this repo still being maintained? HOT 2
- Can't scale an image HOT 1
- Multi-line text not working HOT 1
- Support save svg or any vector graphic?
- Wrong line Cap style for closed shapes. HOT 1
- `NewConicGradient` is only exists in the master branch
- SetLineWidth , How to change only the height of the line instead of its width
- Antialiasing
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 gg.