¿Cómo copiar una imagen directamente desde Finder al portapapeles? (en lugar de abrir con Vista previa)

Desde Finder, ¿cómo puedo copiar una imagen (en un archivo de imagen, por ejemplo, *.jpg, *.png) directamente al portapapeles?
(a diferencia de, por ejemplo, abrir el archivo en Finder y luego command + ccopiarlo en el portapapeles)

Solo tengo curiosidad si implementaste lo que se presentó en mi respuesta.

Respuestas (2)

Después de los comentarios, parece que esta puede ser una funcionalidad conjunta de la aplicación de envío y recepción .
Seleccionar solo el archivo, luego copiar, luego pegará correctamente la imagen en Photoshop o Vista previa usando "Nuevo desde portapapeles" en cada caso.
Pegar en Mail también funciona.

Inicialmente, no pensé que esto fuera posible, ya que Finder no se preocupa en absoluto por el contenido de ningún archivo. Si copia, copiará 'el archivo' como una entidad, lista para pegar en otro lugar. Para obtener los contenidos pictóricos reales en el portapapeles, necesita una aplicación que primero pueda decodificar el archivo como una imagen y luego exportar específicamente su propio portapapeles cuando esté en segundo plano: Preview es una de esas aplicaciones.

[Se parece más a que el Finder copia esto, pero no le dice al usuario si solo mira la ventana Mostrar portapapeles del Finder].

…entonces me di cuenta de que Quicklook incorpora la misma funcionalidad, así que…

Seleccione el archivo de imagen en Finder
Toque la barra espaciadora para abrir en Quicklook.
Copiar Cmd ⌘ C
Cambia a la aplicación que necesites para pegar la imagen.
Pegar Cmd ⌘ V

FWIW... En macOS Catalina , simplemente seleccione el archivo de imagen y presione ⌘C , luego cambie a la aplicación para pegar la imagen usando ⌘V funciona sin tener que hacer nada más. Sin embargo, tenga en cuenta que solo he cansado esto con aplicaciones integradas y de Apple . Algunas aplicaciones de terceros pueden requerir un paso intermedio. --- Acabo de probar en LibreOffice y también funciona.
Eso es interesante. También funciona con Photoshop, en Mojave. Realmente nunca supe eso.
Además, al consultar mediante programación el portapapeles después de un ⌘C en un archivo de imagen , muestra claramente un objeto de imagen que se puede usar por separado y aparte de pegar el archivo de imagen como un archivo en otro lugar del sistema de archivos . Entonces está ahí y si la aplicación receptora tiene la capacidad, obviamente puede tomarlo como una imagen . (+1 por el truco QuickLook).
mhm - el Finder estándar 'mostrar portapapeles' muestra solo el nombre del archivo... lo cual no es muy útil :\
Consultar el portapapeles mediante programación no es lo mismo que el comando Mostrar portapapeles en Finder . P.ej:{{«class furl», 76}, {«class icns», 935693}, {«class ut16», 82}, {«class utf8», 40}, {«class 8BPS», 1774090}, {GIF picture, 124244}, {«class jp2 », 213437}, {JPEG picture, 98488}, {TIFF picture, 4198020}, {«class PNGf», 533225}, {«class BMP », 4194358}, {«class TPIC», 1133665}, {Unicode text, 80}, {string, 40}}
Supuse que no, pero ¿cuántos usuarios van a saber cómo hacer eso para encontrar algo como esto? Llamémoslo una funcionalidad bien oculta;))
¡Lindo! Esto funciona para pegar una imagen en Google Docs. (Curiosamente, no funciona para pegar en Roam Research en el navegador o en la aplicación de escritorio de Roam (en su lugar, pega el nombre del archivo), mientras que una copia de Vista previa sí funciona)
Sí, mientras me abría paso a tientas con la ayuda de @user3439894, se hizo evidente que necesita la complicidad del remitente y el receptor.
Después de un examen más detallado, al presionar ⌘C desde la ventana QuickLook , se coloca exactamente el mismo contenido en el portapapeles que solo Finder en lugar de, por ejemplo, abrir el archivo de imagen en Vista previa y copiarlo. Entonces, si bien Finder lo hace disponible en el portapapeles como una imagen y un archivo , depende completamente de la aplicación receptora cómo manejará lo que está en el portapapeles y QuickLook en realidad no es un factor en esto. (Dejaré el +1 de todos modos).
La ventana 'mostrar portapapeles' especifica que está mostrando 'texto' cuando muestra solo el nombre del archivo (predeterminado en este caso). Sin embargo, si utiliza el visor del portapapeles, verá 'public.tiff' entre los distintos tipos de datos capturados (similar a la información del portapapeles). Preview (et al) probablemente use esto para crear nuevos documentos de imagen. Al crear una nueva imagen 'desde el portapapeles' en Acorn, siempre es de 1024x1024 y ~4 MB (32 bits por píxel, o ~'imagen TIFF'). Tal vez el Finder tiene valores predeterminados particulares. Cuando no se usa 'del portapapeles', la imagen resultante coincide con la original.

¿Cómo copiar una imagen directamente desde Finder al portapapeles? (en lugar de abrir con Vista previa)

Dado que usar solo ⌘C en el archivo de imagen seleccionado en Finder no hace que el contenido del archivo de imagen esté disponible para que todas las aplicaciones lo peguen, el Servicio de Automator /Acción rápida que se ofrece aquí funcionará para aquellas aplicaciones en las que tiene que ser solo el contenido. del archivo de imagen en el portapapeles.

Esto agrega un atajo de teclado a Finder para colocar solo el contenido del archivo de imagen seleccionado en el portapapeles, listo para pegarlo en una aplicación que admita pegar el contenido de un archivo de imagen cuando solo ⌘C no funciona. Por supuesto, esto también funciona para aplicaciones compatibles con ⌘C .

Aquí hay un ejemplo de Automator Service/Quick Action usado en Finder y asignado un atajo de teclado en Preferencias del sistema > Teclado > Atajos > Servicios de ⌃⌘C que coloca explícitamente el contenido del archivo de imagen en el portapapeles, como si se abriera en Vista previa y copiado al portapapeles desde allí.

El código AppleScript de ejemplo , que se muestra a continuación, se probó en el Editor de secuencias de comandos y se guardó como un flujo de trabajo de Automator como una Acción rápida en macOS Catalina con la configuración de Idioma y región en Preferencias del sistema establecida en Inglés (EE .

  • 1 Supone que la configuración necesaria y adecuada en Preferencias del sistema > Seguridad y privacidad > Privacidad se ha establecido o abordado según sea necesario.

Cree un flujo de trabajo de Automator como una acción rápida con la configuración. El flujo de trabajo recibe [archivos de imagen] en [Finder] y agrega una acción Ejecutar AppleScript , reemplazando el código predeterminado con el código AppleScript de ejemplo :


Ejemplo de código AppleScript :

property BMP : «class BMP »
property PNG : «class PNGf»
property GIF : GIF picture
property HEIC : TIFF picture
property JPG : JPEG picture
property TIFF : TIFF picture

set the clipboard to ""

tell application "Finder"
    set selectedImageFile to ¬
        item 1 of (selection as alias list)
    set nameExtension to ¬
        name extension of selectedImageFile
end tell

if nameExtension is "bmp" then
    set fileType to BMP
else if nameExtension is "png" then
    set fileType to PNG
else if nameExtension is "gif" then
    set fileType to GIF
else if nameExtension is "heic" then
    set fileType to TIFF
else if nameExtension is "jpg" then
    set fileType to JPG
else if nameExtension is "jpeg" then
    set fileType to JPG
else if nameExtension is "tiff" then
    set fileType to TIFF
else
    set msg to "This Automator Quick Action is not currently " & ¬
        "configured to handle the selected image file type."
    display dialog msg buttons {"OK"} default button 1 ¬
        with icon 2 giving up after 5
    return
end if

set the clipboard to (read selectedImageFile as fileType)

Notas:

El código AppleScript de ejemplo se puede expandir para manejar tipos de archivos de imagen adicionales según sea necesario. Para determinar la clase correcta para establecer un for, copie el archivo de imagen abierto en el portapapeles, desde, por ejemplo, Preview , y luego en Script Editor ejecute y la primera clase que devuelve es lo que usaría para extender el ejemplo de código AppleScript agregando un nuevo instrucción al bloque de instrucción actual . property XYZ : ...clipboard info else if ... if

Lo más probable es que lo sea TIFF picture, sin embargo, si esta clase se muestra independientemente de dónde se encuentre en la lista devuelta, se puede usar ya que será de la clase de mayor calidad de lo que se ofrece para el archivo de imagen abierto copiado .


ingrese la descripción de la imagen aquí



Nota: El código AppleScript de ejemplo es solo eso y, sin ningún manejo de errores incluido , no contiene ningún manejo de errores adicional que pueda ser apropiado. El usuario tiene la responsabilidad de agregar cualquier manejo de errores que sea apropiado, necesario o deseado. Eche un vistazo a la declaración de prueba y la declaración de error en la Guía del lenguaje AppleScript . Consulte también Trabajar con errores . Además, el uso del comando de retardo puede ser necesario entre eventos cuando corresponda, por ejemplo , con el valor del retardo delay 0.5establecer adecuadamente.