Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Canvas Manipulation #183

Open
houd1ni opened this issue Oct 31, 2016 · 12 comments
Open

Canvas Manipulation #183

houd1ni opened this issue Oct 31, 2016 · 12 comments
Milestone

Comments

@houd1ni
Copy link

houd1ni commented Oct 31, 2016

I'm going to implement basic methods such as lines, ellipses and so, using existing low-level manipulation next week.
If somebody wants to do the same, please, welcome to the branch: https://github.com/houd1ni/jimp

#92 #104

add.info about drawing on canvas:
https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D
https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Drawing_shapes

@houd1ni
Copy link
Author

houd1ni commented Dec 4, 2016

Special thanx for quick start snippet to @iwasawafag

Just rolled out very first stuff. See examples in /test/canvas.js
There will be big improvements in algorithms and methods in December.
https://github.com/houd1ni/jimp/

I'm going to write here info about the progress. Any code is welcome, by the way 😸

@oliver-moran (or any other authorized contributor maybe), How do you feel about some functional lib like ramda?
It can enhance the style for complex operations.

@houd1ni
Copy link
Author

houd1ni commented Jan 19, 2017

Still in work (have a very few time). How about ramda? See above.

@sullivanpt
Copy link

@houd1ni curious how this is coming along? maybe we can collaborate and motivate each other. I've taken your concept and pulled it out of the jimp repo, I'm not sure there's an advantage to a direct integration verses using jimp as a dependency. My biggest confusion comes from how best to handle the async jimp calls that are synchronous/blocking in canvas.

See jimp-canvas

@houd1ni
Copy link
Author

houd1ni commented Jan 7, 2018

@sullivanpt Thank you very much for this support! I've been centered on own projects too much and appreciate any development of non-finished but helpful ideas.
I'm a huge fan of different kinds of modularity, so I would like to add some kind of plugin system to JIMP.
It seems to be a very little change to support something like this (very rough):

  Jimp.use(plugin)
  Jimp.read('something.png', (img) => {
    const ctx = new img.Canvas(...args) // Or, maybe, without .use, but with `new JimpCanvas(img)` here.
  })

Also, it will be ok to move the lib to more modern JS with optimized arrow functions and so. But it's another, but a bit related due to es6-7 plugins support (I love async await so much:) and more isomorphic code.

If you feel OK abut the second plugin approach (new JimpCanvas(img from read func)), then we can split the code to two libraries: one is only for bar codes and the second is about pure canvas stuff with specific specs, canvas-related roadmap and performance tests.

@mmayla
Copy link

mmayla commented May 14, 2018

What is the status of this? I would like to see it implemented

@sullivanpt
Copy link

The jimp-canvas project implemented just the bare minimum to meet my use case (bar codes) then stalled out for lack of interest.

@houd1ni
Copy link
Author

houd1ni commented May 16, 2018

@mmayla I believe, I'll finally come to this someday this summer. The functionality is very needed.

@hipstersmoothie
Copy link
Collaborator

@houd1ni has someday come? This could maybe work as a plugin to jimp.

@hipstersmoothie hipstersmoothie added plugin-candidate and removed enhancement a request for a new feature or change in behavior labels Sep 9, 2018
@houd1ni
Copy link
Author

houd1ni commented Sep 10, 2018

@hipstersmoothie almost! Thank you for the interest! I'll have a time after 22nd, made a reminder :)

@houd1ni
Copy link
Author

houd1ni commented Feb 19, 2019

@hipstersmoothie Jesus, Just added to the week ToDo. Maximum slowpoke.

@houd1ni
Copy link
Author

houd1ni commented Feb 19, 2019

Let's start from the little scratch now. The roadmap:

  • a line with color and width.
  • an ellipse.
  • Color filling.

The stuff should have similar to canvas API.

@sullivanpt here: https://github.com/houd1ni/jimp

@panzerfausten
Copy link

hello, it would be awesome to have circle support

@hipstersmoothie hipstersmoothie added this to the V1 milestone Feb 6, 2023
@hipstersmoothie hipstersmoothie changed the title Basic canvas functional Canvas Manipulation Feb 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants