2009-09-28 1 views
4

Flash에서 SharedObject에 이미지를 저장할 수 있습니까? 그것이 효과가 있다면 좋을 것입니다. 로컬로 이미지를 "저장"해야하지만 플래시가 지원하지 않는 것 같습니다 ... 그래서이 이미지를 저장할 수있는 SharedObject에 넣으려고합니다 ...하지만 이미지로 작동합니까?SharedObject of Flash에 이미지를 저장할 수 있습니까?

나는 비트 맵으로 그것을 시도하지만 ... 읽고이 개체는 비트 맵으로 변환 할 수 없다는 무대에 추가하려는 경우

var image:Bitmap = //some awesome image; 

sharedObject = SharedObject.getLocal("img"); 
sharedObject.data.img = image; 
sharedObject.flush(); 
여기

오류 ->

+0

질문을 JPG 또는 PNG 형식으로 저장하고 있습니까? 이 데이터가 마음에 안 들었나 보지 않습니까? 플래시 플레이어 10을 사용하는 경우 flash.net.FileReference 클래스가 도움이 될 수 있습니다. bitmapData의 ByteArray를 디스크에 쓸 준비가되었을 때 save() 메서드를 사용하면 복사본을 디스크에 저장할 수 있습니다. –

답변

10

이 경우 공유 객체를 설정하기 전에 Bitmap을 ByteArray (즉, 바이너리 데이터)로 작성해야합니다. 그런 다음 그것을 검색 할 때 ByteArray에서 비트 맵으로 읽어야합니다. 여기 잘하면 당신이 올바른 방향으로 이동 얻을 것이다 빠른 샘플입니다 :

http://www.kirupa.com/forum/showthread.php?t=306972

+0

흠 이것은 조금 느리지 만 작동합니다 ^^ 멋지 네요! 고마워! – Hank

+0

BitmapData.getPixels()를 사용하여 ByteArray를 만들 수 있기 때문에 사실 jpeg로 인코딩 할 필요가 없습니다. 그러나 100 % 작동 할 수는 없지만 이론적으로는 가능해야합니다. – Daniel

3

단`t 잊지는 공유 객체는 SharedObject.data에서 제한된 크기 (100KB의 기본값)

+0

또한 로컬 저장 장치를 늘릴 수있는 권한을 요청하는 혼란스러운 Flash Player 대화 상자를 사용하여 사용자에게 끔찍한 경험을 선사합니다. –

+0

그것은 100kb의 한계가 있다는 사실이 아닙니다. 앞서 말한 혼란스러운 팝업을 통해 증가시킬 수있는 기본 제한은 100kb입니다. – Tom