2013-05-08 2 views
0

하이와 JPEG을 저장하고 액션 스크립트를 사용하여 로컬 디스크에 저장할 수있는 솔루션 IV의 대부분은 필요 3.다운로드 나는 URL을 통해 해결 JPEG 이미지를 다운로드하는 방법에 대한 몇 가지 지침을 필요로 액션 스크립트 3

JPEG 인코딩 라이브러리는 있지만 왜 인코딩해야하는지 이해할 수 없습니다. 이 파일은 이미 JPGE 형식으로되어 있습니다. 왜 디스크에 저장하기 전에 일부 부피가 큰 JPEG 인코딩 클래스를 사용하여 다시 JPEG로 변환하려면 BitmapData로 다운로드해야합니까?

이 효율적인 방법을 피해야하는 해결책이 필요합니다.

답변

2

필요하지 않습니다.

var stream:URLStream = new URLStream(); 
stream.addEventListener(Event.COMPLETE, completeHandler); 
stream.load("URL TO JPG"); 

function completeHandler(e:Event):void { 
    var bytes:ByteArray = new ByteArray(); 
    stream.readBytes(bytes); 

    // use either FileStream or FileReference to save the byte array 
} 

당신이 BitmapData에 JPG를로드

, 그것은 실제로 JPG 데이터의 압축을 풉니 다. 그래서 이것을 직접 저장할 수 없습니다. JPG는 더 이상 JPG가 아니며, 그 시점에서 비 압축 비트 맵입니다. ByteArray에서 직접 BitmapData를로드 할 수도 있으므로 필요한 경우 이미지를 표시 할 수도 있습니다.

+0

감사합니다. Apocalyptic0n3. 지금까지는 좋았지 만, 파일 저장을위한 솔루션의 마지막 부분을 구현하는 데 어려움을 겪고 있습니다. 제발 끝내 주시겠습니까? – user2363863

+0

웹용 SWF 인 경우에는 'FileReference.save (bytes, "filename.jpg")'를 사용하십시오. 이것이 AIR 응용 프로그램 인 경우 FileReference를 사용할 수 있어야하지만 FileReference를 사용하여 원하는 위치에 파일을 저장할 수있는 옵션을 제공해야하지만 FileStream.writeBytes (bytes)를 File과 함께 사용할 수도 있습니다. 저쪽에, 약간 수색을하십시오. 해당 부분에 대한 자세한 예제가 많이 있습니다. –

+0

FileReference를 사용하려고했지만 내 코드가 파일 저장 위치를 ​​지정하는 "파일 저장 상자"를 생성했습니다. 사용자 입력없이 fla 파일과 동일한 위치에 파일을 저장하는 코드가 필요합니다. – user2363863