2009-03-31 17 views
15

फ़्लैश में, BitmapData ऑब्जेक्ट का उपयोग रैम में बिटमैप्स को स्टोर करने के लिए किया जा सकता है, आप बाद में उन्हें beginBitmapFill() विधि का उपयोग करके मूवीक्लिप पर खींच सकते हैं।आप बिटमैपडेटा ऑब्जेक्ट में बिटमैप फ़ाइल कैसे लोड करते हैं?

आप बिटमैपडेटा ऑब्जेक्ट में बाहरी बिटमैप फ़ाइल (.jpg) कैसे लोड करते हैं?

यहां तक ​​कि AS3 कोड सहायक होगा।

+2

मुझे वास्तव में समझ में नहीं आता कि आपने कपास के बजाय अपना जवाब क्यों लिया। –

+0

क्योंकि मैं एएस 2 समाधान चाहता था। कपास एएस 3 है। –

उत्तर

41

AS3 कोड देखें:
लोड पुस्तकालय में छवि (फ़ाइल -> आयात -> पुस्तकालय)।
लाइब्रेरी ब्राउज़र में, राइट-क्लिक करें और "गुण" दबाएं, ध्यान दें कि यह वाई पिक्सेल द्वारा एक्स है।
"उन्नत" टैब खोलें।
"एक्शन स्क्रिप्ट के लिए निर्यात" का चयन करें।

import flash.display.BitmapData; 
import flash.display.Bitmap; //needed? 
.......... 
var myPic:BitmapData = new myImg(X,Y); 
+0

बस एक नोट। आप इस – Nande

+0

के लिए एक URLLoader का उपयोग नहीं कर सकते हैं एक और नोट। लोडर बिटमैप में कुछ जानकारी जोड़ता है, इसलिए 'event.target.content' से सीधे 'नाम' जैसी कुछ विशेषताओं को बदलने की कोशिश कर रहा है। लेकिन चूंकि एक नया बिटमैप बनाने वाला ओपी अच्छा है। – Nande

5

आपको बाहरी फ़ाइल (.jpg) को मूवीक्लिप में लोड करना होगा और इसे लोड करने की प्रतीक्षा करें।

फिर मूवीक्लिप का स्नैपशॉट लें जिसमें बाहरी फ़ाइल है, जो आपके बिटमैपडेटा ऑब्जेक्ट में है।

myBitmap = new BitmapData(myMC._width, myMC._height,true,0x00FFFFFF) 

myBitmap.draw(myMC) 

एक PNG लोड करने के लिए और उसके BitmapData

var bitmapData:BitmapData; 

var loader:Loader = new Loader(); 
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); 
    loader.load(new URLRequest("../lib/img.png")); 

function onComplete (event:Event):void 
{ 
    bitmapData = Bitmap(LoaderInfo(event.target).content).bitmapData; 
} 
9

कपास द्वारा पहली पोस्ट की चर्चा करते हुए: myImg

Actionscript चरण के रूप में निर्यात।

असल में प्रत्येक छवि एक बिटमैप तो तुम सब करने की जरूरत है

bitmapData = event.target.content.bitmapData 
बजाय

bitmapData = Bitmap(LoaderInfo(event.target).content).bitmapData; 
+0

नहीं, 'LoaderInfo.content' एक प्रदर्शन ऑब्जेक्ट है। सभी बिटमैप्स डिस्प्ले ऑब्जेक्ट्स हैं, लेकिन सभी डिस्प्ले ऑब्जेक्ट्स बिटमैप्स नहीं हैं, इसलिए कलाकार। कास्ट को हटाकर, आप एक्शनस्क्रिप्ट भाषा की प्रकार की सुरक्षा सुविधा के आसपास काम कर रहे हैं। – Spookbuster

6

कपास से ले जा रहा है और उसके बाद यह भरी हुई है, इस बिटमैप प्रदर्शित करेगा देगा:

import flash.display.Bitmap; 
import flash.display.BitmapData; 

var bitmapData:BitmapData; 
var bmVis:Bitmap; 

var loader:Loader = new Loader(); 
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); 
    loader.load(new URLRequest("put url here")); 

function onComplete (event:Event):void 
{ 
    trace("loaded!"); 
    bitmapData = event.target.content.bitmapData; 
    bmVis = new Bitmap(bitmapData); 
    this.addChild(bmVis); 
} 
संबंधित मुद्दे