Mercurial > mercurial > hgweb_imcv.cgi
comparison myframe.cpp @ 4:3fadcf124bb4
add Percent.
| author | pyon@macmini |
|---|---|
| date | Tue, 05 Jun 2018 22:09:21 +0900 |
| parents | cc1f1fa544a4 |
| children | cb33c4b9ea23 |
comparison
equal
deleted
inserted
replaced
| 3:cc1f1fa544a4 | 4:3fadcf124bb4 |
|---|---|
| 1 // Filename : myframe.cpp | 1 // Filename : myframe.cpp |
| 2 // Last Change: 2016-11-27 Sun 20:08:02. | 2 // Last Change: 2018-06-05 Tue 22:08:14. |
| 3 // | 3 // |
| 4 | 4 |
| 5 #include "myframe.h" | 5 #include "myframe.h" |
| 6 #include "dndfile.h" | 6 #include "dndfile.h" |
| 7 #include "sample.xpm" | 7 #include "sample.xpm" |
| 8 | 8 |
| 9 MyFrame::MyFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) | 9 MyFrame::MyFrame( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) |
| 10 : wxFrame( parent, id, title, pos, size, style ) | 10 : wxFrame( parent, id, title, pos, size, style ) |
| 11 { | 11 { |
| 12 this->SetIcon( wxIcon( wxT("sample") ) ); | 12 this->SetIcon( wxIcon( wxT("sample") ) ); |
| 13 //this->SetSizeHints( wxSize( 450, 200 ), wxSize( 450, 200 ) ); | 13 this->SetSizeHints( wxSize( 700, 200 ), wxSize( 700, 200 ) ); |
| 14 this->SetSizeHints( wxSize( 550, 200 ), wxSize( 550, 200 ) ); | |
| 15 this->SetBackgroundColour( *wxBLACK ); | 14 this->SetBackgroundColour( *wxBLACK ); |
| 16 | 15 |
| 17 wxBoxSizer* bSizerTop = new wxBoxSizer( wxVERTICAL ); | 16 wxBoxSizer* bSizerTop = new wxBoxSizer( wxVERTICAL ); |
| 18 | 17 |
| 19 // Source | 18 // Source |
| 61 m_staticTextSize = new wxStaticText( this, wxID_ANY, wxT("Size"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); | 60 m_staticTextSize = new wxStaticText( this, wxID_ANY, wxT("Size"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT ); |
| 62 m_staticTextSize->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_3DLIGHT ) ); | 61 m_staticTextSize->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_3DLIGHT ) ); |
| 63 m_staticTextSize->SetBackgroundColour( *wxBLACK ); | 62 m_staticTextSize->SetBackgroundColour( *wxBLACK ); |
| 64 bSizerConfig->Add( m_staticTextSize, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); | 63 bSizerConfig->Add( m_staticTextSize, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); |
| 65 | 64 |
| 66 m_staticTextWidth = new wxStaticText( this, wxID_ANY, wxT("Width"), wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); | 65 m_staticTextWidth = new wxStaticText( this, wxID_ANY, wxT("Width"), wxDefaultPosition, wxDefaultSize, 0 ); |
| 67 m_staticTextWidth->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_3DLIGHT ) ); | 66 m_staticTextWidth->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_3DLIGHT ) ); |
| 68 m_staticTextWidth->SetBackgroundColour( *wxBLACK ); | 67 m_staticTextWidth->SetBackgroundColour( *wxBLACK ); |
| 69 bSizerConfig->Add( m_staticTextWidth, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); | 68 bSizerConfig->Add( m_staticTextWidth, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); |
| 70 | 69 |
| 71 m_textCtrlWidth = new wxTextCtrl( this, wxID_ANY, wxT("0"), wxDefaultPosition, wxSize( 40, -1 ), wxTE_CENTRE ); | 70 m_textCtrlWidth = new wxTextCtrl( this, wxID_ANY, wxT("0"), wxDefaultPosition, wxSize( 50, -1 ), wxTE_RIGHT|wxTAB_TRAVERSAL ); |
| 72 m_staticTextWidth->SetBackgroundColour( *wxBLACK ); | |
| 73 bSizerConfig->Add( m_textCtrlWidth, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); | 71 bSizerConfig->Add( m_textCtrlWidth, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); |
| 74 | 72 |
| 75 m_staticTextHeight = new wxStaticText( this, wxID_ANY, wxT("Height"), wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); | 73 m_staticTextHeight = new wxStaticText( this, wxID_ANY, wxT("Height"), wxDefaultPosition, wxDefaultSize, 0 ); |
| 76 m_staticTextHeight->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_3DLIGHT ) ); | 74 m_staticTextHeight->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_3DLIGHT ) ); |
| 77 m_staticTextHeight->SetBackgroundColour( *wxBLACK ); | 75 m_staticTextHeight->SetBackgroundColour( *wxBLACK ); |
| 78 bSizerConfig->Add( m_staticTextHeight, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); | 76 bSizerConfig->Add( m_staticTextHeight, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); |
| 79 | 77 |
| 80 m_textCtrlHeight = new wxTextCtrl( this, wxID_ANY, wxT("0"), wxDefaultPosition, wxSize( 50, -1 ), wxTE_CENTRE ); | 78 m_textCtrlHeight = new wxTextCtrl( this, wxID_ANY, wxT("0"), wxDefaultPosition, wxSize( 50, -1 ), wxTE_RIGHT|wxTAB_TRAVERSAL ); |
| 81 bSizerConfig->Add( m_textCtrlHeight, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); | 79 bSizerConfig->Add( m_textCtrlHeight, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); |
| 82 | 80 |
| 81 m_staticTextPercent = new wxStaticText( this, wxID_ANY, wxT("Percent"), wxDefaultPosition, wxDefaultSize, 0 ); | |
| 82 m_staticTextPercent->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_3DLIGHT ) ); | |
| 83 m_staticTextPercent->SetBackgroundColour( *wxBLACK ); | |
| 84 bSizerConfig->Add( m_staticTextPercent, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 ); | |
| 85 | |
| 86 m_textCtrlPercent = new wxTextCtrl( this, wxID_ANY, wxT("100"), wxDefaultPosition, wxSize( 40, -1 ), wxTE_RIGHT|wxTAB_TRAVERSAL ); | |
| 87 bSizerConfig->Add( m_textCtrlPercent, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); | |
| 88 | |
| 83 bSizerTop->Add( bSizerConfig, 1, wxEXPAND, 5 ); | 89 bSizerTop->Add( bSizerConfig, 1, wxEXPAND, 5 ); |
| 84 | 90 |
| 85 // Output | 91 // Output |
| 86 wxBoxSizer* bSizerOutput = new wxBoxSizer( wxHORIZONTAL ); | 92 wxBoxSizer* bSizerOutput = new wxBoxSizer( wxHORIZONTAL ); |
| 87 | 93 |
| 145 buf = m_textCtrlWidth->GetValue(); | 151 buf = m_textCtrlWidth->GetValue(); |
| 146 buf.ToLong( &w, 10 ); | 152 buf.ToLong( &w, 10 ); |
| 147 buf = m_textCtrlHeight->GetValue(); | 153 buf = m_textCtrlHeight->GetValue(); |
| 148 buf.ToLong( &h, 10 ); | 154 buf.ToLong( &h, 10 ); |
| 149 | 155 |
| 150 if ( choice_type == 0 && w == 0 && h == 0 ) { | 156 buf = m_textCtrlPercent->GetValue(); |
| 157 buf.ToLong( &s, 10 ); | |
| 158 | |
| 159 if ( choice_type == 0 && w == 0 && h == 0 && s == 100 ) { | |
| 151 WarnMessage( wxT("no change !") ); | 160 WarnMessage( wxT("no change !") ); |
| 152 return; | 161 return; |
| 153 } | 162 } |
| 154 | 163 |
| 155 buf = m_dirPicker->GetPath(); | 164 buf = m_dirPicker->GetPath(); |
| 238 else if ( choice_type == 8 ) { | 247 else if ( choice_type == 8 ) { |
| 239 // SVG | 248 // SVG |
| 240 } | 249 } |
| 241 | 250 |
| 242 wxImage image( file, in_type ); | 251 wxImage image( file, in_type ); |
| 243 if ( w == 0 || h == 0 ) { | 252 if ( s == 100 ) { |
| 244 w = (long)(image.GetWidth()); | 253 if ( w == 0 || h == 0 ) { |
| 245 h = (long)(image.GetHeight()); | 254 w = (long)(image.GetWidth()); |
| 255 h = (long)(image.GetHeight()); | |
| 256 } | |
| 257 } else { | |
| 258 w = (long)(image.GetWidth() * s / 100 ); | |
| 259 h = (long)(image.GetHeight() * s / 100 ); | |
| 246 } | 260 } |
| 247 wxImage output = image.Scale( (int)w, (int)h, wxIMAGE_QUALITY_HIGH ); | 261 wxImage output = image.Scale( (int)w, (int)h, wxIMAGE_QUALITY_HIGH ); |
| 248 wxString outfile = out_dir + wxFILE_SEP_PATH + name + wxT(".") + ext; | 262 wxString outfile = out_dir + wxFILE_SEP_PATH + name + wxT(".") + ext; |
| 249 | 263 |
| 250 if ( file.IsSameAs( outfile ) ) { | 264 if ( file.IsSameAs( outfile ) ) { |
| 328 | 342 |
| 329 wxFileName tf( fullpath ); | 343 wxFileName tf( fullpath ); |
| 330 if ( !tf.Exists() ) tf.Mkdir( wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL ); | 344 if ( !tf.Exists() ) tf.Mkdir( wxS_DIR_DEFAULT, wxPATH_MKDIR_FULL ); |
| 331 | 345 |
| 332 wxImage image( files[i], in_type ); | 346 wxImage image( files[i], in_type ); |
| 333 if ( w == 0 || h == 0 ) { | 347 if ( s == 100 ) { |
| 334 w = (long)(image.GetWidth()); | 348 if ( w == 0 || h == 0 ) { |
| 335 h = (long)(image.GetHeight()); | 349 w = (long)(image.GetWidth()); |
| 350 h = (long)(image.GetHeight()); | |
| 351 } | |
| 352 } else { | |
| 353 w = (long)(image.GetWidth() * s / 100 ); | |
| 354 h = (long)(image.GetHeight() * s / 100 ); | |
| 336 } | 355 } |
| 337 wxImage output = image.Scale( (int)w, (int)h, wxIMAGE_QUALITY_HIGH ); | 356 wxImage output = image.Scale( (int)w, (int)h, wxIMAGE_QUALITY_HIGH ); |
| 338 output.SaveFile( fullpath, out_type ); | 357 output.SaveFile( fullpath, out_type ); |
| 339 } | 358 } |
| 340 | 359 |
