Testing Wanted for Windows Clipboard Copy/Paste for Images

I have a patch build that I would love some testing that allows (on the Windows platform only for now) the ability to copy/paste images with other applications.

Once running you should see “Copy” and “Paste” on the Image Editor’s “Image” menu:

I mostly want to know if this works for you in most situations that you would want to use it. I am expecting it to always work to move RGB data, but it is expected that there will be programs that will not transfer an alpha channel as well.

In my testing I could copy in an RGBA (so with transparency) from Chrome and Firefox but Gimp will only transfer RGB. This is because newer programs (and this patch) use a newer method of transfer (CF_DIBV5) that was designed with alpha in mind, while older programs (like Gimp) use PNG for this.

But give it a try and see how it works with the programs you use like Photoshop, etc. And yes, this is designed so that it could be supported later in other platforms fairly easily.

18 Likes

This is very nice addition. I tried this with image viewers, ShareX, and Krita, and it really works well.

Something I found:

  • Pasting does not register undo.
  • Copy/pasting inside Blender (from Image Editor to Image Editor) inverts the image.
  • Sometimes copy/pasting shifts the image to left. It happens with the above case, and sometimes with Krita.
  • Repeatedly copy/pasting inside Blender causes crash.
5 Likes

Have noted the following:

  1. Rendered a scene, loaded Render Result into the Image Editor. Copy function greyed out (cannot choose).

  2. Image Editor: Load Image, loaded PNG file with transparency. Copy, paste directly into Photoshop. Image pasted into Photoshop contains no transparency.

  3. Photoshop: open PNG with transparency, Copy. Image Editor: Paste. Clipboard image contains no transparency.

3 Likes

Thanks for helping test this! I’ll take a look at some of these issues over the weekend; this project is a bit of a back-burner spare-time thing.

7 Likes

Gave it a quick test, generally it’s really nice. I especially like just being able to snip a screenshot in Windows, hit ctrl-c in the snipping app, and immediately ctrl-v into Blender.

Noticed 2 additional issues though:

  • For UDIMs, copy works fine (I can copy the active tile correctly), but pasting back into that image does something unexpected. I would expect it to attempt to overwrite the active tile but instead it just creates a new Clipboard image entirely.
  • For multi-layer EXRs it crashes. Do a default scene render then Save As “Multilayer EXR”. Load the resulting image in and hit ctrl-c → crash. Generally it “should” pick the active layer to copy but I presume that’s not being done and it walks off into memory somewhere.

[Edited] Fixed wrong udim behavior description

4 Likes

Thanks for testing!

Will look into enabling an Undo step; haven’t looked into that before.

Actually isn’t this pointing out that we will sometimes want a new image added and other times we will want to replace the current image? If so then I’d need “Paste as New Image” versus “Paste as New Layer”, “Paste as New Tile”, “Paste (Overwrite)”, etc? Or I am thinking about it wrong. Thoughts on this appreciated.

Fairly certain the new version of this PR (changed since this build) would not crash. This code was just assuming the imbuf had an integer buffer, when in this case there is only a float buffer. Not sure if it actually behaves well with EXR now but shouldn’t crash at least. Will test.

Thanks again!

2 Likes

I can see that at times I might copy/paste out of Blender to an external program - say, just to quickly do some A/B verification (like adjusting the position of an image detail, for example) - but I don’t think I would ever paste INTO the image editor, in order to use that pasted image within the Blender scene.

Blender is so sketchy with saving the scene with/without edited textures, that I simply wouldn’t trust the process. So, I would continue to “save as” from Photoshop over the imagemap I’ve already got inside the shader, and refresh the node as I do now.

(ETA: Having said all of this, others might find it of great value. So I’m not saying it’s bad idea, and not worth pondering.)

2 Likes

Great feature. Harley is on fire. (Someone make this man the head of UI team plzzz) :stuck_out_tongue_winking_eye:

WHAT? I do that all the time in other 3d apps.
Paste is just as important as copy.

@Harleya Little OT, but you know what else is missing in blender regarding the image editor? Is make it work like an image viewer. Like, dropping image files into the blender window should open the image in an image editor window. Also dropping image files on top of the blender.exe file should do the same. That’s one of my favorite features in some other 3d apps.

It’s all about workflows guys :v:

3 Likes

There are already couple popular addons that provide image copy pasting in Blender. I use two of those, they even provide ability to paste as an image node or a video strip beside pasting into the image editor. This feature is immensely useful thing to have.

2 Likes

I updated the build linked in the first comment. Seems to always copy at least RBG back and forth.
Copying from Chrome, Firefox, and Edge all do so with alpha. To and from Krita also works with alpha. Haven’t looked at the crash when copying with EXR.

Gimp still is only RGB in and out - only uses PNG for alpha

Pasting does not register undo.

Fixed.

Copy/pasting inside Blender (from Image Editor to Image Editor) inverts the image.

Fixed.

Sometimes copy/pasting shifts the image to left.

Fixed

Repeatedly copy/pasting inside Blender causes crash.

I changed one place where an exception could happen. Fingers crossed.

Rendered a scene, loaded Render Result into the Image Editor. Copy function greyed out

Fixed

5 Likes

@Harleya I’ve tested this and I really love it. I haven’t found any issues not already addressed.

On that note, though, I feel like there’s something fundamentally wrong with Blender’s UI development that is showing itself mostly through your work. You have quite a lot of absolutely incredible patches that are slowly rotting in the “not approved for Blender” graveyard:

https://developer.blender.org/D5117

I’m sure I’ve missed even more, those are just the immediate ones.

What can we do as users to get these patches into Blender? The answer is usually given as “provide feedback on the patch discussion threads”, but that doesn’t seem to have an effect, as all of these patches and threads have detailed discussions (and almost every reply in these discussions is saying “please add this to Blender!”)

Whenever I see a new patch from you, my initial reaction is excitement- everything you make is incredible. My next reaction is to resign myself to that fact that I’ll never actually get to use this new feature in a release version of Blender. There’s got to be something Blender users can do to influence Blender development- and again, I know that’s what this site is for, but clearly, feedback on this site does not correlate to what gets into Blender.

I’ve gone off-topic for sure, I apologize. I just desperately want to use your Windows clipboard, your better color picker, your visual camera controls, your better area docking, etc, and it’s frustrating seeing these things sitting as “open” on the project board for months or even years

3 Likes

@josephhansen - It can sometimes look odd from the outside, but it really isn’t.

I’ve been contributing to Blender for more than a decade and have been a part of the UI Module for years. Most of the things I have enjoyed working on have been without any prior official plan or approval, but have instead been far-term experiments on where we might want to go. They usually start off as a hacky demonstration and turn into some WIP that gets iterated over for a while. But the vast majority of the things I have worked on have made it into Blender in some form or another eventually.

Loading dialog could make it in eventually, maybe for 4.0. Docking will be something we will get, but there might be lots of design, changes, and iterations before we get there - we talked about it at headquarters last year - but a 4.0 target might be possible. That “Camera Controls” page is a design by William that I have played with at times, but have nothing useful from it. That “eyedropper” PR could get approved at almost any time - we just need the time to think about it.

I’ve been employed by Blender since the beginning of the Month though, so my experimenting with these far-term ideas will slow down as I concentrate on issues that have actual plans. But I’ll still find time to play.

11 Likes

Hey, this is one of those times where I completely believe you that these could be good features, but I simultaneously don’t understand why. Could you explain a bit better why these are important? Feel free to DM me if you prefer.

1 Like

Hi, this is a most welcome addition, thanks !!! I just grabbed the latest build from your link above : pasting works fine from a windows partial screenshot, but I can’t copy the render from the clipboard, the clipboard seems to be remaining empty (on Windows 10). I tried to paste in Skype or Photoshop (these would be my two main uses) but nothing. And the “Paste” button remains greyed out in Blender, which confirms that nothing is sent to the clipboard. HOWEVER, this seems to be only concerning the RenderResult, as I can copy back the image I’ve just pasted in the image editor (after clearing my clipboard).

Also I just learned about this Patch from yesterday’s Blender Today and I had made a RCS post about a feature request that is somewhat in line with this patch, if you are interested… Right-Click Select — Blender Community
It might not be trivial, but my idea is to directly grab the current visual state of a 3D viewport in Render Preview mode and paste it to the clipboard. Since “Viewport Render Image” is not currently supported for cycles.

Yes, for a Render Result the “Copy” item was enabled but didn’t actually work. That is now fixed and you can copy the render result as expected. I updated the build linked in the first comment.

If I can get this PR in, then I might propose area-related “capture to clipboard” options. For most areas that would be right-click on the header and select “Capture Area to Clipboard” or similar.

3 Likes

Yes, I feel the same.
So many useful things that could further enhance the already excellent interaction experience with Blender and increase productivity in work… add the amazing snap and modal view navigation enhacement’s patchs from germano.
:crossed_fingers:

I updated the build again. I found a program, “Affinity Photo”, that can transfer a 32-bit RGB buffer with the alpha component set to 0. Had to detect that and set alpha to 255 so that the image is… visible. LOL

2 Likes

If I can get this PR in, then I might propose area-related “capture to clipboard” options. For most areas that would be right-click on the header and select “Capture Area to Clipboard” or similar.

That would be just perfect !

I notice a difference in color management when using the copy fonction, and save (or even windows’ screen shot tool). I don’t know if this is expected ? Personnaly I’d have expected an exact copy of the pixels displayed in the image editor, with color management included but there might be a reason not to.

Testing on the Mar 23, 2023 Build, Windows 10, Photoshop CC:

  • Render Window copy → paste Photoshop: base function is working now

  • Alpha channel appears to still not function either copying or pasting; from blender->photoshop, alpha is interpreted as a 100% (ie, fully black image, or lacking alpha data, depending on direction of copy/paste).

  • Copy from Blender Render → paste in a devtalk forum message: paste buffer completely worked, image uploaded into this message and resolved as one would hope. (Have deleted from this message, as no need to actually post the image with this message.) :wink:

1 Like

I updated the PR and the build linked in the first comment.

Like almost all programs it is now posting and handling multiple clipboard formats, so it should preserve alpha in more situations. So not only newer programs that use CF_DIBV5, but also older ones that use registered “PNG” clipboard format. In my own testing:

  • Gimp in and out with alpha
  • Krita in and out with alpha
  • Affinity Photo 2 in and out with alpha
  • Chrome in with alpha
  • Firefox in with alpha
9 Likes