我很難找到任何可以在運行時保存圖片的技巧。在運行期間從Flash應用程序保存圖像?
這是一個Flash應用程序,用戶可以在其中設計一些東西,然後將其發送給我(發給我)進行發佈(我認爲最好的方法是使用某種ActionScript爲其完成設計拍攝JPEG照片然後將其保存到我的Web服務器)。我搜索了一下,發現了一些例子,但是它們都沒有工作。
任何燈光都將不勝感激!
亞倫
我很難找到任何可以在運行時保存圖片的技巧。在運行期間從Flash應用程序保存圖像?
這是一個Flash應用程序,用戶可以在其中設計一些東西,然後將其發送給我(發給我)進行發佈(我認爲最好的方法是使用某種ActionScript爲其完成設計拍攝JPEG照片然後將其保存到我的Web服務器)。我搜索了一下,發現了一些例子,但是它們都沒有工作。
任何燈光都將不勝感激!
亞倫
這是我發現,當我工作的一個類似的項目最簡單的例子:
它需要安裝
https://github.com/mikechambers/as3corelib
的問題,節省大的as3corelib jpgs是編碼器的同步特性,它會在運行時凍結整個應用程序,因此它被之前評論中提到的異步庫替代
import com.adobe.images.JPGEncoder;
var jpgSource:BitmapData = new BitmapData (sketch_mc.width, sketch_mc.height);
jpgSource.draw(sketch_mc);
var jpgEncoder:JPGEncoder = new JPGEncoder(85);
var jpgStream:ByteArray = jpgEncoder.encode(jpgSource);
var header:URLRequestHeader = new URLRequestHeader("Content-type", "application/octet-stream");
var jpgURLRequest:URLRequest = new URLRequest("jpg_encoder_download.php?name=sketch.jpg");
jpgURLRequest.requestHeaders.push(header);
jpgURLRequest.method = URLRequestMethod.POST;
jpgURLRequest.data = jpgStream;
navigateToURL(jpgURLRequest, "_blank");
PHP的東西 - 這寫它到屏幕上,但它可以很容易地保存文件。
if (isset($GLOBALS["HTTP_RAW_POST_DATA"]))
{
// get bytearray
$jpg = $GLOBALS["HTTP_RAW_POST_DATA"];
// add headers for download dialog-box
header('Content-Type: image/jpeg');
header("Content-Disposition: attachment; filename=".$_GET['name']);
echo $jpg;
}
完美,謝謝!我將不得不努力將PHP保存到服務器上,但是一切都很好。 – Aaron 2012-01-07 19:47:48
一般來說,你會得到你的包含MovieClip,JPEG編碼它的位圖數據,然後URLLoad它到您的服務器。同樣重要的是有一個服務器頁面來處理請求,你在服務器後端運行什麼? – ToddBFisher 2012-01-06 18:07:28
http://stackoverflow.com/questions/2509554/fast-or-asynchronous-as3-jpeg-encoding - 我用這個expample從這個問題http://www.switchonthecode.com/tutorials/flex-tutorial-an-異步JPEG編碼器,前一段時間的應用程序,它像一個魅力 – Evert 2012-01-06 18:09:04
@ToddBFisher我一直在使用PHP腳本從我的文件從應用程序傳輸到我的服務器,迄今爲止工作很好。我似乎無法得到JPEG編碼類或任何工作在Flash中。 – Aaron 2012-01-06 18:27:44