छवि की प्रतिलिपि कैसे करें, फ़ाइल इनपुट में चिपकाने पर वापस पथ प्राप्त करें?


8

मुझे कभी-कभी ग्राहकों से तदर्थ बग रिपोर्ट मिलती है, जिसे मुझे हमारे ऑनलाइन बग ट्रैकर को स्थानांतरित करने की आवश्यकता होती है। पाठ के लिए ठीक काम करता है, लेकिन चित्र थकाऊ हैं।

मैं दस्तावेज़ों (जैसे एक्सेल शीट्स) से छवियों को कॉपी-पेस्ट करने के लिए एक समाधान की तलाश कर रहा हूं कि अगर आप किसी HTML पेज पर किसी फ़ाइल इनपुट (या टेक्स्ट इनपुट) में कोई छवि पेस्ट करते हैं, तो फ़ाइल स्वचालित रूप से डिस्क पर लिखी जाएगी। (tmp dir), और फ़ाइल इनपुट फ़ील्ड में लिखा पथ।

यह प्रश्न प्रत्यक्ष रूप से क्लिपबोर्ड छवि को जीमेल संदेश में पेस्ट करने से संबंधित है , लेकिन मैं पूछना चाहता हूं कि क्या केवल स्थानीय कार्यक्रम का उपयोग करके कोई समाधान है। मुझे सभी ऑपरेटिंग सिस्टम के समाधान में दिलचस्पी है।


मुझे लगता है कि तीसरे पक्ष के सॉफ्टवेयर्स के बिना यह संभव नहीं है।
उकांत

थर्ड पार्टी सॉफ्टवेयर कोई समस्या नहीं है - मैं जानना चाहूंगा कि क्या ऐसा सॉफ्टवेयर मौजूद है।
अलेक्जेंडर टॉर्टलिंग

अगर किसी को ऐसा नहीं मिला, तो मैं एक बनाऊंगा .. विंडोज समाधान मेरे लिए पर्याप्त होगा।
पावेल रेड्ज़विलोव्स्की

1
ऐसा लगता है कि कुछ ऑटोहोटेक कर सकता है, हालांकि मुझे यह देखना होगा कि कैसे। एक महान विचार की तरह लगता है, यद्यपि।
फशी

जवाबों:


3

ठीक है दोस्तों, यह वही है जो मैंने किया था।

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing;

namespace ClipSave
{
    class Program
    {
        [STAThread] public static void Main()
        {
            if (Clipboard.GetDataObject() != null)
            {
                IDataObject data = Clipboard.GetDataObject();

                if (data.GetDataPresent(DataFormats.Bitmap))
                {
                    Image image = (Image)data.GetData(DataFormats.Bitmap, true);
                    string file = System.Windows.Forms.Application.CommonAppDataPath + "\\ClipSaveImage.png";
                    image.Save(file, System.Drawing.Imaging.ImageFormat.Png);
                    Clipboard.SetText(file);

                }
                else
                    MessageBox.Show("Copy valid image first");
            }
            else
                MessageBox.Show("Copy image first");
        }
    }
}

इसे एक EXE में संकलित किया, एक हॉट-स्टार्ट Ctrl + Shift + C के साथ एक स्टार्ट-अप मेनू शॉर्टकट जोड़ा। यह तब क्लिपबोर्ड में करंट इमेज को एक फाइल में कॉपी करता है और फाइल को क्लिपबोर्ड में डाल देता है।


2

स्क्रीनशॉट लेने के लिए इस AutoHotKey थ्रेड में AutoHotKey स्क्रिप्ट है। इसमें एक PNG को क्लिपबोर्ड को सहेजने के लिए एक तुच्छ .Net 1.1 कार्यक्रम का स्रोत शामिल है। आप चाहेंगे कि इसमें कुछ और संशोधन हों:

  • एक अलग फ़ोल्डर में छवि को सहेजें, एक नाम से बेहतर image.png
  • अपने क्लिपबोर्ड पर नई छवि के पथ को कॉपी करें

AutoHotkey क्लिपबोर्ड आदेशों का उपयोग करने के लिए एक और तरीका है डेटा, हालांकि एक कार्यक्रम प्राप्त करने के लिए अपनी छवि डेटा में थोड़ा और अधिक जटिल हो सकता है कि।


1

यकीन नहीं होता अगर मैं आपके सवाल का जवाब दूं। लेकिन आप क्लिपमैन को आज़मा सकते हैं। यह आपको सब कुछ कॉपी करने और इसे एक तरफ रखने में मदद करता है जब तक कि आप इसे एक-एक करके वापस नहीं चुनते। क्लिपमैन, स्रोत CNET


0
  • छवि पर राइट क्लिक करें और इसे सहेजें?
  • छवि को फ़ोल्डर में खींचें?
  • स्निपिंग टूल का उपयोग करें और इसे वहां से बचाएं?

ये तीन तरीके आपको एक फ़ाइल को बहुत जल्दी सहेजने देंगे। फ़ाइल एक्सप्लोरर हमेशा एक ही फ़ोल्डर में जाएगा ताकि फ़ाइल को जल्दी से सहेजना या अपलोड करना कोई समस्या न हो ...

प्रत्यक्ष क्लिपबोर्ड सुविधा को पहले और असफल रहने के लिए कहा गया है


छवि वेब से नहीं आती है। यह राइट-क्लिक से अधिक है। इसके अलावा, मुझे एक पंक्ति में कई की आवश्यकता नहीं है। मुझे एक की जरूरत है, कभी-कभी, कई लोगों के लिए, कई स्टेशनों पर। सटीक उपयोग मामला fogbugz wiki के लिए एक तस्वीर जोड़ रहा है।
पावेल रेड्जविलोवस्की

मुझे यह समझ में नहीं आ रहा है ... आप केवल Word या Excel में एक छवि पर राइट क्लिक कर सकते हैं और "इस चित्र को सहेजें" पर क्लिक कर सकते हैं। यदि क्लिपबोर्ड काम नहीं करता है, तो सबसे तेज़ तरीका उपरोक्त विधियों में से एक का उपयोग कर रहा है या किसी ने वर्ड या एक्सेल के लिए एक ऐड-ऑन लिखा है जो सीधे फॉगबगज़ पर अपलोड करने के लिए एक सही मेनू विकल्प जोड़ता है।
तमारा वाइज्समैन

0

मैं विंडोज से परिचित नहीं हूं, लेकिन जब से आपने सभी ओएस के लिए समाधान मांगे हैं, मेरे पास मैक ओएस एक्स के लिए एक ऐप्पलस्क्रिप्ट समाधान है जिसे मैंने इस वेबसाइट पर एक तस्वीर कॉपी करके और स्क्रिप्ट निष्पादित करके परीक्षण किया है।

यह एप्सेस्क्रिप्ट मान लेता है कि छवि TIFF प्रारूप में क्लिपबोर्ड पर है (यह देखने के लिए कि क्या यह एक्सेल से बाहर है, यह देखने के लिए परीक्षण करना पड़ सकता है।) यह क्लिपबोर्ड से फाइल बनाता है, इसे एक अस्थायी निर्देशिका में सहेजता है, फिर पथ को पेस्ट करता है। सफारी में सबसे आगे के पृष्ठ पर निर्दिष्ट फ़ील्ड।

तो, आप छवि को कॉपी करेंगे, अपने सफारी पेज पर स्विच करेंगे और स्क्रिप्ट चलाएंगे। (स्क्रिप्ट मेनू से, इसे एक सेवा में बनाएँ और एक शॉर्टकट असाइन करें, या एपस्क्रिप्ट के लिए एक शॉर्टकट असाइन करने के लिए FastScripts का उपयोग करें ।)

आपके फॉर्म पर उचित फ़ील्ड खोजने के लिए स्क्रिप्ट को समायोजित करना होगा।

repeat with i in clipboard info

  if TIFF picture is in i then

    -- grab the picture from the clipboard, set up a filename based on date
    set tp to the clipboard as TIFF picture
    set dt to current date
    set dtstr to (time of dt as string) & ".tiff"
    set pt to ((path to temporary items from user domain as string) & dtstr)
    set tf to open for access file pt with write permission

    -- save the file
    try
        write tp to tf
        close access tf
    on error
        close access tf
    end try

    -- put the path into the proper field in the web Browser
    tell application "Safari"
        activate

        -- adjust javascript as necessary
        -- currently inserts into Answer textarea of this superuser.com page for testing
        -- ie. make sure you've clicked "add answer" first
        set myJS to "document.getElementById('wmd-input').value = '" & pt & "'"

        -- document 1 is frontmost
        do JavaScript myJS in document 1
    end tell

    exit repeat
  end if
end repeat

संपादित करें: विचार करने योग्य बातें:

  • मैं पथ के साथ कुछ नहीं करता हूं, डिफ़ॉल्ट सीमांकक एक बृहदान्त्र है। आप POSIX पथ चाहते हैं।
  • क्या फ़ाइल अपलोड जावास्क्रिप्ट को निष्पादित करने के लिए जावास्क्रिप्ट को बदलना संभव है? (मुझे इसके साथ कोई अनुभव नहीं है, लेकिन मुझे लगता है कि यह किया जा सकता है।)
  • एक्सेल एपस्क्रिप्ट का समर्थन करता है, और इसमें एक copy pictureकमांड है। एक चरण में ऐसा करना संभव हो सकता है। चित्र का चयन करें, स्क्रिप्ट चलाएं, स्क्रिप्ट प्रतियां, सहेजता है, वेब पेज खोलता है और फॉर्म भरता है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.