nextcloud / viewer

🖼 Simple file viewer with slideshow for media
GNU Affero General Public License v3.0
94 stars 53 forks source link

Allow to edit images: crop, resize, flip, rotate, filter... #65

Closed ncgu closed 2 years ago

ncgu commented 5 years ago

Hi,

Add two buttons to rotate the image left or right. In addition to the buttons please also put the function on the keys L or R to rotate the image.

skjnldsv commented 5 years ago

@jancborchardt shall we? I feel like this is a bit out of scope!

@ncgu thanks for the suggestion. :)

jancborchardt commented 5 years ago

I wouldn't say light image editing is out of scope, and rotation is really basic.

Of course some points:

skjnldsv commented 5 years ago
  • Should be permanent, that is save the image when it's rotated

This is out of scope though. The viewer is not made to have any kind of actions on the file really. :thinking: This would also means we basically implement a full image processing in the front or the back and upload/update the file again. I'm not sold :grin:

Ok for the rest :)

ncgu commented 5 years ago
* It does not need to be so present, in the 3-dot menu is enough

OK. Is it possible to put the rotate function (+90/-90) on the r and l keys?

skjnldsv commented 5 years ago

@ncgu are those keys usually bound to rotate? Any software in mind where they do it?

ncgu commented 5 years ago

https://www.irfanview.com/ I've been using it for years. really cool

skjnldsv commented 5 years ago

And any popular ones? Because I never heard of irfanview :) The idea when adding keyboard shortcut is to have universally known keys binding. :wink:

juliushaertl commented 5 years ago

Regararding persisting the rotation, please also see https://github.com/nextcloud/gallery/pull/490 for some details on how that could be achieved. But I agree with @skjnldsv That the viewer should really be about viewing, if we add any editing features, we should have that handled in a spearate app, that can maybe register their editing actions in the viewer somehow.

skjnldsv commented 5 years ago

that can maybe register their editing actions in the viewer somehow.

definitely :) When #7 is in, any app that register the actin in files will appear here !

skjnldsv commented 5 years ago

Btw @ncgu looks like l & r keys were also going to be used on the gallery app: https://github.com/nextcloud/gallery/pull/490/files#diff-5e4ddda58d290ec339ec9e57444801ddR271 :)

Let's go for them!

jancborchardt commented 5 years ago

Should be permanent, that is save the image when it's rotated

This is out of scope though.

I would say making the change persistent is most important, as otherwise it’s quite confusing. Non-persistent rotation doesn’t really make sense and would clash with expectations.

So I’d say until we figure out the way to make this persistent, no need to invest in putting in elements to rotate, as user expectations will be that it’s persistent. Better not having it than not having it up to expectations. ;)

skjnldsv commented 4 years ago

Refs:

STaRDoGG commented 3 years ago

Just to add my 2¢, along with the standard rotate, I'd also like the the ability to pixilate/blur selections; rotate and pixelate/blur are the 2 most common things I use/need to do when doing quick edits for posting online. A drop-in toolbar type of editor like mentioned in https://github.com/nextcloud/viewer/issues/925 would be perfect in my case. =)

rmeissn commented 2 years ago

I'll try to contribute a vision for the future. Current state: Viewer/Photos does provide a timeline view of my photos and videos, covering all files I have access to. There is already a world map plugin, but no exif information panel.

Vision: I'll envision a basic (!) Google Photos alternative. The mobile Nextcloud client already allows me to upload my photos/videos automatically and the Nextcloud Photos app provides a timeline and world map view.

  1. The timeline view should be tied to a specific folder (optionally all folders), to not show all my media files (as in: do not show my work stuff)
  2. There should be a panel/information menu, providing basic exif information (like location, date/time, camera, etc.)
  3. There should be basic image editing features (like rotation, cropping, ...)
  4. Possibly extended by additional image editing features (like brightness, saturation, contrast, filters, ...)

As far as I can see the image editing tool TUI, recommended in https://github.com/nextcloud/viewer/issues/65#issuecomment-578629722 , doesn't need a server-side part, so the only things to code would be a matching theme (optional), a way to open existing images and a way to save the resulting image (either by overriding the existing file or by saving a copy).

This would be truly amazing, as there is no good (open-source) alternative to Google Photos. The only okayish tool I found so far is Synology Photos, which is okay (good design, timeline view), but is proprietary and doesn't provide any image editing features, like cropping. ... to quickly edit an image is really handy and this is what I miss the most, compared to Google Photos

Spartachetto commented 2 years ago

@rmeissn I do get @skjnldsv technical point of view: this is not a vision for Nextcloud Viewer/Photos, this is a vision for Nextcloud!

I do share your desire, yet it is true that basic image editing capabilities should be available also in other apps (for example: https://github.com/nextcloud/contacts/issues/1662 ).

In addition your vision integrates functionality that already exists or has been requested in other apps:

I do hope that this recap will help the discussion

bhlevca commented 2 years ago

Unfortunately the viewer does not seem to respect the EXIF information. Rotated the photo in GIMP or GWENVIEW for example and the Nextcloud viewer still sees it not rotated. GIMP and GWENVIEW agree with each other

heapxor commented 2 years ago

hi, so rotation of the images still no avail? https://github.com/nextcloud/gallery/pull/490

also assuming there is no working metadata reading, writing and displaying ability has been discussed since a bit?

thanks

skjnldsv commented 2 years ago

Feature implemented/completed in https://github.com/nextcloud/viewer/pull/1317

bhlevca commented 2 years ago

I see that this is set as milestone, which means that it is not done. Why is the issue closed? I see that another issue was opened, but most people interested in this feature who monitor this issue will not get notified when the new issue will be completed.

SystemZ commented 2 years ago

I see that this is set as milestone, which means that it is not done. Why is the issue closed?

I suspect that feature from this issue was just implemented by image editor so it may be closed and marked as complete.

skjnldsv commented 2 years ago

I see that this is set as milestone, which means that it is not done. Why is the issue closed? I see that another issue was opened, but most people interested in this feature who monitor this issue will not get notified when the new issue will be completed.

Look again, #1317 is not another issue but the implemented feature. This will be part of Nextcloud 25, as the milestone says, and this being closed as "completed" image

bhlevca commented 2 years ago

Thanks. Perhaps adding "Feature implemented/completed in #1317" would have made things clearer.