Adding PNG image to flash movie
using SWF Scout in Visual C++
See also: Hello World with
SWF Scout 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;
See also: Hello World with
SWF Scout in Visual C++