2,453 karma · joined August 20, 2013
That means, that PDF does not contain any DPI information. It is not needed at all. PDF rasterizer (e.g. a raster printer) can render it at any DPI. Photopea decodes and saves back bitmaps inside PDF in the original resolution. The rest is vector graphics.
2) For now, Photopea ignores embedded fonts. But it extracts the font name and in 98 % of cases, we already have the required font in our database of fonts, so we can render it identically.
While other editors "add stuff on top of PDF", Photopea "chews through" each byte of a PDF, and tries to make as much sense of it as possible.
You can rewrite the existing text (with the same formatting), edit bézier curves, edit gradient fills. You can edit bitmaps on a pixel level. You can see the parameters as CSS or export it into an SVG.
Also, it is free. People open about 150,000 PDF files a month in it, but I hope it will get more popular in the future.
Demo PDF: https://www.photopea.com/api/img2/WEBSITE-ZLONIN-uprava.pdf
Photopea: https://www.photopea.com#%7B%22files%22:%5B%22https://www.ph... (press T and click into the text to edit it)
Simply put, each layer, whose name starts with "_a_", defines a frame. Layers with other names are visible in all frames.
An example: go here http://photopea.com#iL9sRwekM and press File - Export As - GIF :)
Of course, browsers are free to do whatever they want. But the user can (and will) switch to the software, which does what he or she wants.
I am the creator of a photo editor www.Photopea.com and I see, that more and more people care about their browsers. They spend a lot of time discussing the issues of their browser with me, because they need to do a serious work in it.
A local storage is the only way webapps can store any data in your computer (other than asking you to manually load / save some configuration file). Not all webapps can afford cloud storage for all user.
And 54 lines of JS: https://jsfiddle.net/06L845jx/127/
It takes years to become good at programming. Once you know programming, it usually takes hours to learn a new (procedural) programming language.
I would recommend to avoid services, which "redistribute" donations. Such companies need to keep a part of money for themselves as running costs, and it is often not clear, if they keep 1% or 90%. And the way they decide who gets what, also might not be clear. I am not saying they are corrupted. I am just saying the transparency is lost with each "man in the middle".
But the rendering pipeline of PSD documents is extremely complex. There are not just layers, but also layer styles, raster masks, clipping masks, adjustment layers. Folders of layers can have their own layer styles and masks. You need to allocate separate buffers to render "sub-trees". And everything is GPU accelerated (over WebGL).
I am afraid that remaking it to a mip-mapped system would take me like 1 000 hours of work, so I think it is easier to remake V8 (which I guess could be like 100 hours of work). As the usual capacity of RAM will keep growing, they would have to do it at some point anyway.
I develop a photo editor www.Photopea.com , where people often edit e.g. 100-megapixel photos. Then, Chrome may crash (because of 4GB limit) and they lose their work. I have to recommend users to use Firefox for such cases.
You can still create websites the way you created them 25 years ago. They will work in all browsers. All the web code (HTML, JS, CSS...) is always visible to the browser and the user, nothing can be hidden (otherwise, the browser would not be able to show a website).
I guess you are complaining about authors putting all HTML code on a singe line, or naming JS variables with one letter. But they could do it 25 years ago, too. It does not mean you have to do it.
I open-sourced many parts of Photopea: https://github.com/photopea?tab=repositories .
I gave a talk about it: https://www.youtube.com/watch?v=IZmaeC_Ma5A
WASM builds of two C libraries are used in Photopea: Harfbuzz (177 kB) and Fribidi (32 kB). But their authors were kind enough to give me WASM files directly, so I did not have to compile anything.
Actually, it is the 19th most frequent format of files opened in Photopea :) https://twitter.com/photopeacom/status/1172183966125871105
I used it to port several of my flash games to the web: http://lib.ivank.net/?p=demos&d=spritesheet