#include "stdafx.h" #include "TdkException.h" #include "TdkCDCanvas.h" #include "TdkProcessingService.h" #include "TdkGraphicalService.h" void main(int argc, char* argv[]) { // Parametros da projecao TeProjectionParams params; params.name = "UTM"; params.datum = TeDatumFactory::make("CorregoAlegre"); params.lon0 = 0.00; params.lat0 = 0.00; // Definicao da Largura e altura do canvas int image_width = 200; int image_height = 200; // Parametros do box double wx1 = 110.0; double wy1 = 50.0; double wx2 = 110.0; double wy2 = 50.0; // Define a "Cor de Fundo" que sera azul int backcolor_red = 120; int backcolor_green = 120; int backcolor_blue = 255; try { // Exibe aviso de inicio std::cout << "Aplicacao em execucao, por favor aguarde...\n"; /*** Cria os Parametros do canvas ***/ // Cria a projecao TeProjection * projection = TdkProcessingService::createProjection(params); // Classe que cria 3 buffers (RGB - Red, Green, Blue ) TdkRGBMemBuffer * tdkRGBMemBuffer = new TdkRGBMemBuffer( image_width , image_height ); memset( tdkRGBMemBuffer->getBlue() , 0x00 , image_width * image_height ); memset( tdkRGBMemBuffer->getGreen() , 0x00 , image_width * image_height ); memset( tdkRGBMemBuffer->getRed() , 0x00 , image_width * image_height ); // Cria o Box TeBox * teBox = new TeBox(wx1,wy1,wx2,wy2); // Cria a cor TeColor * teColor = new TeColor(backcolor_red,backcolor_green, backcolor_blue); /*** Fim da criacao dos parametros do canvas ***/ // Cria o canvas com os parametros criados TdkCanvas * canvas = new TdkCDCanvas( image_width, image_height, * tdkRGBMemBuffer, * teBox, * projection, * teColor); if ( canvas == NULL ) throw TdkException(_TDK_DEBUG,TdkException::OutOfMemory,"TdkCanvas"); // Desenha o texto no canvas criado canvas->drawText(100.0, 100.0, std::string("TDK")); // Criacao e gravacao da imagem TdkMemBuffer* image = TdkGraphicalService::createImage(canvas, _TDK_GIF); FILE *hFile = NULL; hFile = fopen( "imagem.gif", "wb" ); if ( hFile != NULL ) { fwrite(image->buffer, 1, image->size, hFile); fclose( hFile ); } if ( canvas ) { delete canvas; canvas = NULL; } std::cout << "Fim da execucao, figura imagem.gif salva com sucesso no diretorio do projeto\n"; std::cout << "Pressione qualquer tecla para sair."; getchar(); } catch ( TdkException& ex ) { std::cout << ex.trace(); } }