كيف يمكنني نسخ بيانات الصورة إلى الحافظة في XUL التطبيق ؟

StackOverflow https://stackoverflow.com/questions/68103

سؤال

لدي XULRunner التطبيق الذي يحتاج إلى نسخ بيانات الصورة إلى الحافظة.لقد عرفت كيفية التعامل مع نسخ النص إلى الحافظة, و يمكنني لصق PNG البيانات من الحافظة.ما لا أستطيع فهمه هو كيفية الحصول على البيانات من قاعدة البيانات URL إلى الحافظة بحيث يمكن لصقها في التطبيقات الأخرى.

هذا هو رمز يمكنني استخدام نسخ النص (حسنا ، XUL):

var transferObject=Components.classes["@mozilla.org/widget/transferable;1"].
    createInstance(Components.interfaces.nsITransferable);

var stringWrapper=Components.classes["@mozilla.org/supports-string;1"].
    createInstance(Components.interfaces.nsISupportsString);

var systemClipboard=Components.classes["@mozilla.org/widget/clipboard;1"].
    createInstance(Components.interfaces.nsIClipboard);

var objToSerialize=aDOMNode;

transferObject.addDataFlavor("text/xul");

var xmls=new XMLSerializer();
var serializedObj=xmls.serializeToString(objToSerialize);

stringWrapper.data=serializedObj;

transferObject.setTransferData("text/xul",stringWrapper,serializedObj.length*2);

و كما قلت, البيانات أحاول نقل PNG البيانات URL.لذا أنا أبحث عن يعادل أعلاه من شأنها أن تسمح ، على سبيل المثالPaint.NET إلى لصق بلدي بيانات التطبيق.

هل كانت مفيدة؟

المحلول

هنا الحل أن انتهى بي الأمر باستخدام هذا يحل المشكلة بشكل جيد.المتغير dataURL هو صورة كنت أحاول الوصول إلى الحافظة في المقام الأول.

var newImg=document.createElement('img');
newImg.src=dataURL;

document.popupNode=newImg;

var command='cmd_copyImageContents'

var controller=document.commandDispatcher.getControllerForCommand(command);

if(controller && controller.isCommandEnabled(command)){
    controller.doCommand(command);
}

نسخ الصورة إلى الحافظة باعتبارها 'image/jpg'.

نصائح أخرى

نيل ديكين له المادة على التلاعب الحافظة في xulrunner.أنا لست متأكدا مما إذا كان يجيب عن سؤالك تحديدا, لكنه بالتأكيد تستحق التدقيق بها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top