Wednesday, July 27, 2011

Copy & Paste of images with SnagIt and Gmail - Resolved

I'm a consultant and my primary method of communication with my clients is email. I have been a heavy user of Gmail (Google Apps) through Google Chrome and so far so good. However, my biggest complain has always been lack of Copy and Paste support for images especially screen captures. I was pleasantly surprise to hear the recent development regarding an ability to paste images directly into a message body. Unfortunately, my excitement didn't last long when I discovered this new functionality is not currently compatible with Snagit. I have been using Snagit since its infancy and I have always considered it one the best screen capture apps in the market today and naturally I didn't want to switch. The issue is that if you attempt to paste a recently captured screen shot into a Gmail message, The image is displayed as a transparent frame instead and the actual content is lost.



I was able to confirmed and reproduce this on different versions of Windows and Chrome browsers. Finally, after doing numerous web searches, I came across a technical support article at TechSmith (Snagit's developer) which acknowledges the issue but offers no immediate solution. Support article is linked here for your reference.

After some research, I realized the issue is somehow related to how Snagit copies images into Windows clipboard. Pasting a Snagit screen capture into MSPAINT and then copying it again into Gmail would work without any problems so a simple interim fix could involve creating a small auxiliary "Converter" program that sits between Snagit and clipboard. The converter app would need to be seamless and require to user input. Luckily, Snagit has a program output feature which is very customization and allows me to execute any 3rd party app and supply it with the captured screenshot. I created a small Windows app in VB.NET with few lines of code that reads an input image file and copies it back into clipboard in a standard format without any user input.

    Sub Main()
'// make sure filename is provided
If My.Application.CommandLineArgs.Count = 0 Then
MsgBox("Please specify an image filename!", MsgBoxStyle.Critical)
End
End If
Try
'// load image file to clipboard
Dim picImage = Image.FromFile(My.Application.CommandLineArgs(0))
My.Computer.Clipboard.SetImage(picImage)
Catch ex As Exception
'// Error out
MsgBox(ex.ToString, MsgBoxStyle.Critical)
End Try
'// All done
End
End Sub

For those who don't want to bother with compiling their own executable, I have compiled a version which be downloaded from here. I called it SnagitGcopy. It's a single EXE file and doesn't require installation. You must have Microsoft .Net Framework installed. If you don't already have it, it can be downloaded from here.

In order to configure Snagit so it can properly copy and paste images into Gmail, Please follow instructions below:

1) Download SnagitGcopy from here and store it in a folder (i.e. C:\GCOPY).



2) Open up Snagit.



3) Under "Profile Settings", Select "Program" as output. This should allow calling our converter program.



4) Then select "Properties".



5) Click on "Add" button.



6) Click on "Open" icon and locate SnagitGcopy executable that you saved in a directory in step 1.



7) Leave the rest as is and click on "OK".



8) Now, we need to change the file name used by Snagit to save screen captures. Click on "Options" under "File name".



9) We should use an static file name to avoid creating a new file each time screen is captured. Put in "gcopy" under "Format" and make sure "Ask before overwriting existing file names" is not checked otherwise you'll be getting an annoying dialog box each time. Click on "OK" to continue.



10) At last change the directory for temporary image file to C:\GCOPY as indicated below. Click on "OK".




You should now be able to copy & paste screen captures directly into Gmail without any issues. If you have setup Snagit to show its Editor after each capture, Make sure "Send" button or [Ctrl+Enter] is pressed otherwise, converter program won't be called:




Here is an example of an images pasted into a message in gmail:



Let me know if you encountered any issues. I would try to get back to you as soon as I can.

Also, please remember that, as always, the usual disclaimers apply. Please backup your system, Save settings, and other common precautions before trying anything new...

18 comments:

  1. IT WORKS!!!!! THANK YOU SO MUCH!

    ReplyDelete
  2. Where is the "Finish" button? Is there a specific version of SnagIt required?

    ReplyDelete
  3. It's actually called "Send". I corrected the instructions and included a screen shot. Thank you!

    I have tried it on versions 9 and 10 and it works. Technically as long as Snagit has the "Program" output option, it should function.

    ReplyDelete
  4. Wow, I have been looking for this for a long time. Much thanks.

    ReplyDelete
  5. My friend You've made My Year!!!
    Thank You very much for this post.

    ReplyDelete
  6. Thats great. I too have also been using snagit from the beginning and at that time I also only used outlook and microsoft products.

    Since then I have been using more of the google business apps which doesn't allow me to send snagit pictures directly into an email.

    I don't know why snagit doesn't add your workaround as one of there extensions?

    THANKS!

    ReplyDelete
  7. Thanks! It's fairly easy for TechSmith to fix this for good. They have a KB article but there is no date on when it's going to get fixed.

    ReplyDelete
  8. I'll add my thanks too. I'm back to using SnagIt again... hear that TechSmith?

    ReplyDelete
  9. Thank you DC! I feel normal again.

    ReplyDelete
  10. This works unless I add annotations to the image. I added a stamp and an edge effect.

    ReplyDelete
  11. it does indeed work : many many thanks !!

    ReplyDelete
  12. I am having trouble implementing this and would appreciate any advice.

    When I Finish the Image and Select the Program GCopy it tries to run the GCopy.exe file.

    Not sure what I have done that is wrong.

    ReplyDelete
  13. When I tried to download your file, I get a message that says "please spcifiy an image filename. Please help. Thanks.

    ReplyDelete
  14. It mostly works. :) What if I want to include some transparency though? That always comes out gray?

    Does this article help?
    http://mathematica.stackexchange.com/questions/26105/clipboard-with-transparency

    ReplyDelete
  15. There has been no comment for almost 2 years. Does this work with Snagit 12? If so, could you go through the windows for snagit 12?
    Thanks.

    ReplyDelete
  16. I ask the same question as it is my #1 question of this decade. I cannot understand why sending a capture via Gmail is impossible for Snagit to fix-officially. I really want an easy fix that I don't need to add.
    I did read that someone succeeded once they made the Gmail message anything but transparent-well, couldn't it be white as background and solve that? Hmm, now if I knew how to make anything a color!

    ReplyDelete
  17. You have created the password a day and before and all of a sudden you have forgotten it because you have as many as 4 email accounts. How to Reach Gmail Support

    ReplyDelete