Adding PNG image to Flash movie using SWF Scout SDK in Visual C++

Submitted by eLenka on 7 July, 2011 - 11:37

The sample shows how to add PNG image to the generated SWF Flash animation using SWF Scout SDK in Visual C++.

Source Code:

// HelloWorld.cpp : Defines the entry point for the console application.
 //
 
 
#include "stdafx.h"
 
 
#import "SWFScout.tlb"
 using namespace SWFScout;
 
 
#import "SWFScoutImgAddon.dll"
 using namespace SWFScoutImgAddon;
 
 
int main(int argc, char* argv[])
 {
 // initialize OLE
 HRESULT hr = CoInitialize(NULL);
 
 
// check for errors
 if (FAILED(hr)) {
 MessageBox(0,"OLE initialization errp","error",MB_OK);
 return -1;
 }
 // declare SWFScout object
 IFlashMovie* Movie = NULL;
 CLSID clsid;
 
 
// get inuque ID for IFlashMovie interface
 hr = CLSIDFromProgID(OLESTR("SWFScout.FlashMovie"), &clsid);
 // check for errors
 if (FAILED(hr)) {
 MessageBox(0,"Can't get CLSID for interface","error",MB_OK);
 return -1; //goto Uninit;
 };
 // create FlashMovie object
 hr = CoCreateInstance(clsid, NULL, CLSCTX_ALL,__uuidof(IFlashMovie), (LPVOID*)&Movie);
 // check for errors
 if (FAILED(hr)) {
 MessageBox(0,"Can't create Movie object","error",MB_OK);
 return -1; //goto Uninit;
 }
 
 IImageLoader* ImgAddon = NULL;
 CLSID clsidImgAddon;
 
 
// get inuque ID for SWFScoutImgAddon.IImageLoader interface
 hr = CLSIDFromProgID(OLESTR("SWFScoutImgAddon.ImageLoader"), &clsidImgAddon);
 // check for errors
 if (FAILED(hr)) {
 MessageBox(0,"Can't get CLSID for ImgAddon interface","error",MB_OK);
 return -1; //goto Uninit;
 };
 // create ImgAddon object
 hr = CoCreateInstance(clsidImgAddon, NULL, CLSCTX_ALL,__uuidof(IImageLoader), (LPVOID*)&ImgAddon);
 // check for errors
 if (FAILED(hr)) {
 MessageBox(0,"Can't create ImgAddon object","error",MB_OK);
 return -1; //goto Uninit;
 }
 
 
 
 
// initialize library
 Movie->InitLibrary("demo", "demo");
 // start movie generation
 Movie->BeginMovie(0,0,640,480,sscPix, 12,6);
 // start document generation
 
 
ImgAddon->ConnectToSWFLibrary (Movie);
 int Image = ImgAddon->AddImageFromFileNameEx ("c:\\sample.png");
 
 
ImgAddon->DisconnectFromSWFLibrary();
 
 // Movie->IMAGE_ConvertToJPEG(75); // set forced JPEG format 
 
 
Movie->PlaceImage(Image, Movie->CurrentMaxDepth);
 
 
Movie->ShowFrame(10); // show 10 frames
 Movie->EndMovie(); // end movie generation
 Movie->SaveToFile("c:\\TestPNG.swf"); // save generated SWF into file
 
 
// disconnect from library
 Movie->Release();
 ImgAddon->Release();
 // uninitialize OLE libraries
 Uninit:
 CoUninitialize();
 return 0;