Code Monkey home page Code Monkey logo

igorski / bitmappery Goto Github PK

View Code? Open in Web Editor NEW
126.0 8.0 14.0 2.41 MB

Browser based non-destructive photo editor with layering, masking, customizable brushes and cloud storage integration for all your web based working.

Home Page: https://www.igorski.nl/bitmappery

License: MIT License

JavaScript 0.85% HTML 0.15% Vue 37.28% SCSS 2.14% C++ 0.37% TypeScript 59.21%
photo-editor image-editor image-processing browser photos pwa pwa-apps vue photoshop wasm

bitmappery's Introduction

Hello kind visitor ๐Ÿ‘‹

In my GitHub repositories, you can find most of my personal projects, be it audio plugins, web based applications or libraries of any kind (for various languages/platforms). All of it for you to see and to get your grubby hands on. All code is production ready without hidden secrets and comes with (varying degrees of) documentation and test coverage. Consult the README of each repo in case you have questions, bug reports or requests. Likewise, if you see something horribly wrong, inefficient or containing a crude oversight, feel free to contribute!

If you don't feel like tinkering with code, you can just go to my website and run the web applications directly from your browser, or download the audio plugins there.

If you like what I'm doing and would like to show your appreciation, you can always:

"Buy Me A Coffee"

Though it's up to you to do so, everything that I do/make will remain both free to use and fully open source.

What Iโ€™m currently working on:

  • a "swarm of howling voices"-synthesizer
  • my next record (you can always stream my music on the platform of your choice)
  • a browser based RTS game (nothing world shocking, just to amuse myself)

bitmappery's People

Contributors

ange-cesari avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bitmappery's Issues

Allow use of clone stamp on rotated layer

It is currently not possible to use the clone stamp when the destination layer is rotated, this is due to the clone handler logic (see paint() in layer-sprite.js).

Until this issue is resolved, clone stamp is disabled for rotated layers (see canClone() in tool-types.js).

More self host ?

Hey,

I understood that the person who maintains particularly likes integrations and online services, for instance: dropbox.

I think that these integrations are necessary for some people who use these services, but for others (especially in EU) who want "self host" the maximum of their uses, it can become limited. Saving the web page allows to get the service locally (offline) but not to use integrations.

I think it would be interesting to add more flexibility to leave the possibility to users (without necessarily adding a front-end) but at least to let via environment variables the possibility to choose its integrations. You use dropbox for example. It is totally possible to use minio to create s3 bucket and save photos.

Moreover I did a medium article on the integration of the outline-wiki service with minio : https://medium.com/@ange.cesari/how-to-deploy-outline-wiki-fully-self-hosted-no-tls-with-docker-compose-e50b57baaf73

To follow up on the outcome on docker #18 I think there are things to do on the self host part and I would like to know your views on this.

Allow drawing on a layer that is both rotated and mirrored

It is currently not possible to use a brush operation when the destination layer is both rotated and mirrored, this requires the appropriate translations on the canvas context (see paint() in layer-sprite.js).

Until this issue is resolved, drawing is disabled for layers that are both rotated and mirrored (see canDraw() in tool-types.js).

Upon adding layer mask, the brush/eraser are permanently in masking mode for that layer

  1. Start with a new document. Switch to the brush tool. Draw a square.
  2. Add a layer mask. Attempt to make a side of the square thicker.
  3. Click the mask icon. The layer name should turn black. Attempt to mask a visible side of the square.
  4. Click the layer name. The layer name should turn white. Attempt to make a visible side of the square thicker.

In steps 2 and 4, the brush masks the original drawing instead of adding on to it.
Workaround: to draw normally, create another layer that doesn't have a mask.

Allow use of selections in drawable modes on mirrored layers

It is currently not possible to use selections alongside brush operations when the destination layer is mirrored. This requires the appropriate translations on the canvas context (see paint() in layer-sprite.js).

Until this issue is resolved, drawing is disabled for layers that are mirrored (see canDrawOnSelection() in tool-types.js).

Adding to an existing application

Hi there. Incredible project. Hope this hasn't been asked elsewhere (though I searched) - is it possible to include Bitmappery in an existing Vue app?

Or is it bound to a particular context / hosting implementation?

Bring your own fonts

Hello,

One of the issues that was raised in the UI when trying to apply text to an image is the GDPR issue.

One of the ways to allow users (always self host) who do not have access to the internet, or who do not want to use Google fonts, would be to be able to import their own fonts by default, in a fonts folder in the project.

When loading the text module in the UI it would be possible to load the fonts in the folder.

In addition, with docker it is possible to mount a volume in the container to automatically mount all fonts in the folder at the creation of the container, so self-host-friendly.

What Open Source License is this software under?

I'm currently listing Open Source Tools on different project sites but I'm not sure if this is really the case here? I could not find a license file, but would like to include this tool. Where can I find the info?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.