PRK0011MF.cpp 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #include <jpeg.hpp>
  4. #include "ITSSkinF.h"
  5. #include "ITSUtilF.h"
  6. #include "ITSDbF.h"
  7. #include "AppGlobalF.h"
  8. #include "WindowMsgF.h"
  9. #include "ITSLangTransF.h"
  10. #include "ITS_OPLibF.h"
  11. #pragma hdrstop
  12. #include "PRK0011MF.h"
  13. //---------------------------------------------------------------------------
  14. #pragma package(smart_init)
  15. #pragma link "cxButtonEdit"
  16. #pragma link "cxButtons"
  17. #pragma link "cxContainer"
  18. #pragma link "cxControls"
  19. #pragma link "cxEdit"
  20. #pragma link "cxGraphics"
  21. #pragma link "cxGroupBox"
  22. #pragma link "cxLabel"
  23. #pragma link "cxLookAndFeelPainters"
  24. #pragma link "cxLookAndFeels"
  25. #pragma link "cxMaskEdit"
  26. #pragma link "cxTextEdit"
  27. #pragma link "dxSkinBlack"
  28. #pragma link "dxSkinMcSkin"
  29. #pragma link "dxSkinsCore"
  30. #pragma resource "*.dfm"
  31. TPRK0011M *PRK0011M = NULL;
  32. //---------------------------------------------------------------------------
  33. __fastcall TPRK0011M::TPRK0011M(TComponent* Owner, TImage *APRK_PLCE_IMAGE_DATA, String APRK_PLCE_IMAGE_TYPE)
  34. : TForm(Owner)
  35. {
  36. LangTrans->Translate(this, ITSDb_GetConnection());
  37. ITSSkin_Load(this);
  38. CMM_LoadForm(g_sFormsDir, this);
  39. Position = poOwnerFormCenter;
  40. FTitle = Caption;//"VMS 소통정보 배경이미지관리";
  41. ScrollBox1->Color = Color;
  42. FPRK_PLCE_IMAGE_DATA = APRK_PLCE_IMAGE_DATA;
  43. FPRK_PLCE_IMAGE_TYPE = APRK_PLCE_IMAGE_TYPE;
  44. FSelected = false;
  45. }
  46. //---------------------------------------------------------------------------
  47. void __fastcall TPRK0011M::CommClose()
  48. {
  49. try
  50. {
  51. //CMM_SaveForm(g_sFormsDir, this);
  52. }
  53. catch(...)
  54. {
  55. }
  56. }
  57. //---------------------------------------------------------------------------
  58. void __fastcall TPRK0011M::FormShow(TObject *Sender)
  59. {
  60. Refresh();
  61. FormInit();
  62. TmrShow->Enabled = true;
  63. }
  64. //---------------------------------------------------------------------------
  65. void __fastcall TPRK0011M::FormInit()
  66. {
  67. EdImageFileName->Text = "";
  68. try {
  69. PRK_PLCE_IMAGE_DATA->Picture->Bitmap->FreeImage();
  70. PRK_PLCE_IMAGE_DATA->Picture->Bitmap = NULL;
  71. PRK_PLCE_IMAGE_DATA->Picture->Assign(FPRK_PLCE_IMAGE_DATA->Picture);
  72. } catch(Exception &e) {
  73. }
  74. }
  75. //---------------------------------------------------------------------------
  76. void __fastcall TPRK0011M::TmrShowTimer(TObject *Sender)
  77. {
  78. TmrShow->Enabled = false;
  79. }
  80. //---------------------------------------------------------------------------
  81. void __fastcall TPRK0011M::BtnCloseClick(TObject *Sender)
  82. {
  83. Close();
  84. }
  85. //---------------------------------------------------------------------------
  86. void __fastcall TPRK0011M::FormClose(TObject *Sender, TCloseAction &Action)
  87. {
  88. CommClose();
  89. PRK0011M = NULL;
  90. Action = caFree;
  91. }
  92. //---------------------------------------------------------------------------
  93. void __fastcall TPRK0011M::EdImageFileNameClick(TObject *Sender)
  94. {
  95. OpenBmp->Title = FTitle;
  96. OpenBmp->FileName = "";
  97. OpenBmp->Execute();
  98. }
  99. //---------------------------------------------------------------------------
  100. void __fastcall TPRK0011M::OpenBmpCanClose(TObject *Sender, bool &CanClose)
  101. {
  102. String sFName = OpenBmp->FileName;
  103. try
  104. {
  105. ClearImage();
  106. EdImageFileName->Text = sFName;
  107. TMemoryStream *pImgStream = new TMemoryStream();
  108. pImgStream->LoadFromFile(sFName);
  109. if (AssignPrkFlrImage(sFName.SubString(sFName.Length()-2, 3), pImgStream)) {
  110. //FImageUpdate = true;
  111. }
  112. }
  113. catch(...)
  114. {
  115. }
  116. }
  117. //---------------------------------------------------------------------------
  118. void __fastcall TPRK0011M::ClearImage() {
  119. try {
  120. PRK_PLCE_IMAGE_DATA->Picture->Bitmap->FreeImage();
  121. PRK_PLCE_IMAGE_DATA->Picture->Bitmap = NULL;
  122. } catch(Exception &e) {}
  123. }
  124. //---------------------------------------------------------------------------
  125. bool __fastcall TPRK0011M::AssignPrkFlrImage(String AExt, TMemoryStream *AImgStream)
  126. {
  127. AExt = AExt.UpperCase();
  128. //FImageExt = AExt;
  129. try {
  130. try {
  131. if (AExt == "PNG") {
  132. TdxPNGImage *img = new TdxPNGImage;
  133. img->LoadFromStream(AImgStream);
  134. PRK_PLCE_IMAGE_DATA->Picture->Bitmap->Assign(img);
  135. PRK_PLCE_IMAGE_DATA->Picture->Bitmap->PixelFormat = pf24bit;
  136. SAFE_DELETE(img);
  137. FPRK_PLCE_IMAGE_TYPE = "3";
  138. }
  139. else
  140. if (AExt == "JPG" || AExt == "JPEG") {
  141. TJPEGImage *img = new TJPEGImage();
  142. img->LoadFromStream(AImgStream);
  143. PRK_PLCE_IMAGE_DATA->Picture->Bitmap->Assign(img);
  144. PRK_PLCE_IMAGE_DATA->Picture->Bitmap->PixelFormat = pf24bit;
  145. SAFE_DELETE(img);
  146. FPRK_PLCE_IMAGE_TYPE = "2";
  147. }
  148. else
  149. if (AExt == "BMP") {
  150. Graphics::TBitmap *img = new Graphics::TBitmap;
  151. img->LoadFromStream(AImgStream);
  152. PRK_PLCE_IMAGE_DATA->Picture->Bitmap->Assign(img);
  153. SAFE_DELETE(img);
  154. FPRK_PLCE_IMAGE_TYPE = "0";
  155. }
  156. else {
  157. return false;
  158. }
  159. } catch(Exception &e) {
  160. return false;
  161. }
  162. } __finally {
  163. SAFE_DELETE(AImgStream);
  164. }
  165. return true;
  166. }
  167. //---------------------------------------------------------------------------
  168. void __fastcall TPRK0011M::BtnSaveImgFileClick(TObject *Sender)
  169. {
  170. SaveDialog->Title = FTitle;
  171. SaveDialog->InitialDir = ExtractFilePath(Application->ExeName);
  172. SaveDialog->Filter = "Bitmap image Files (*.bmp)|*.bmp";
  173. if (SaveDialog->Execute())
  174. {
  175. try {
  176. String sFileName = SaveDialog->FileName;
  177. int iRet = sFileName.Pos(".bmp");
  178. if (iRet == 0)
  179. {
  180. sFileName = SaveDialog->FileName + ".bmp";
  181. }
  182. PRK_PLCE_IMAGE_DATA->Picture->SaveToFile(sFileName);
  183. }
  184. catch (Exception &exception)
  185. {
  186. Application->ShowException(&exception);
  187. }
  188. }
  189. }
  190. //---------------------------------------------------------------------------
  191. void __fastcall TPRK0011M::BtnSelectClick(TObject *Sender)
  192. {
  193. FSelected = true;
  194. Close();
  195. }
  196. //---------------------------------------------------------------------------