Commit af7c26e8 authored by jean-pierre charras's avatar jean-pierre charras

bitmap2component minor enhancements

parent e1b5d49f
...@@ -4,6 +4,15 @@ KiCad ChangeLog 2010 ...@@ -4,6 +4,15 @@ KiCad ChangeLog 2010
Please add newer entries at the top, list the date and your name with Please add newer entries at the top, list the date and your name with
email address. email address.
2010-jun-24 UPDATE Wayne Stambaugh <stambaughw@verizon.net>
================================================================================
++EESchema component library and hierarchical sheet label object improvements.
* Continue component library class clean up and encapsulation work.
* Change hierarchical sheet label container to boost::vector_ptr.
* Encapsulate hierarchical label handling in hierarchical sheet class.
* Convert some missed occurrences of wxString::GetData() to GetChars( wxString ).
* Fix some minor code formatting issues.
2010-jun-23, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr> 2010-jun-23, UPDATE Jean-Pierre Charras <jean-pierre.charras@gipsa-lab.inpg.fr>
================================================================================ ================================================================================
++eeschema: ++eeschema:
......
...@@ -71,7 +71,7 @@ private: ...@@ -71,7 +71,7 @@ private:
void OnLoadFile( wxCommandEvent& event ); void OnLoadFile( wxCommandEvent& event );
void OnExportEeschema( wxCommandEvent& event ); void OnExportEeschema( wxCommandEvent& event );
void OnExportPcbnew( wxCommandEvent& event ); void OnExportPcbnew( wxCommandEvent& event );
void Binarize( int aThreshold ); void Binarize( double aThreshold ); // aThreshold = 0.0 (black level) to 1.0 (white level)
void OnOptionsSelection( wxCommandEvent& event ); void OnOptionsSelection( wxCommandEvent& event );
void OnThresholdChange( wxScrollEvent& event ); void OnThresholdChange( wxScrollEvent& event );
void NegateGreyscaleImage( ); void NegateGreyscaleImage( );
...@@ -196,18 +196,18 @@ void BM2CMP_FRAME::OnLoadFile( wxCommandEvent& event ) ...@@ -196,18 +196,18 @@ void BM2CMP_FRAME::OnLoadFile( wxCommandEvent& event )
m_Greyscale_Bitmap = wxBitmap( m_Greyscale_Image ); m_Greyscale_Bitmap = wxBitmap( m_Greyscale_Image );
m_NB_Image = m_Greyscale_Image; m_NB_Image = m_Greyscale_Image;
Binarize( m_sliderThreshold->GetValue() ); Binarize( (double)m_sliderThreshold->GetValue()/m_sliderThreshold->GetMax() );
Refresh(); Refresh();
} }
void BM2CMP_FRAME::Binarize( int aThreshold ) void BM2CMP_FRAME::Binarize( double aThreshold )
{ {
unsigned int pixin; unsigned int pixin;
unsigned char pixout; unsigned char pixout;
int h = m_Greyscale_Image.GetHeight(); int h = m_Greyscale_Image.GetHeight();
int w = m_Greyscale_Image.GetWidth(); int w = m_Greyscale_Image.GetWidth();
unsigned int threshold = (aThreshold * 256) / 10; unsigned int threshold = (int)(aThreshold * 256);
for( int y = 1; y < h; y++ ) for( int y = 1; y < h; y++ )
for( int x = 1; x < w; x++ ) for( int x = 1; x < w; x++ )
...@@ -243,13 +243,13 @@ void BM2CMP_FRAME::OnOptionsSelection( wxCommandEvent& event ) ...@@ -243,13 +243,13 @@ void BM2CMP_FRAME::OnOptionsSelection( wxCommandEvent& event )
{ {
NegateGreyscaleImage( ); NegateGreyscaleImage( );
m_Greyscale_Bitmap = wxBitmap( m_Greyscale_Image ); m_Greyscale_Bitmap = wxBitmap( m_Greyscale_Image );
Binarize( m_sliderThreshold->GetValue() ); Binarize( (double)m_sliderThreshold->GetValue()/m_sliderThreshold->GetMax() );
Refresh(); Refresh();
} }
void BM2CMP_FRAME::OnThresholdChange( wxScrollEvent& event ) void BM2CMP_FRAME::OnThresholdChange( wxScrollEvent& event )
{ {
Binarize( m_sliderThreshold->GetValue() ); Binarize( (double)m_sliderThreshold->GetValue()/m_sliderThreshold->GetMax() );
Refresh(); Refresh();
} }
......
...@@ -87,7 +87,7 @@ BM2CMP_FRAME_BASE::BM2CMP_FRAME_BASE( wxWindow* parent, wxWindowID id, const wxS ...@@ -87,7 +87,7 @@ BM2CMP_FRAME_BASE::BM2CMP_FRAME_BASE( wxWindow* parent, wxWindowID id, const wxS
m_ThresholdText->Wrap( -1 ); m_ThresholdText->Wrap( -1 );
brightSizer->Add( m_ThresholdText, 0, wxTOP|wxRIGHT|wxLEFT, 5 ); brightSizer->Add( m_ThresholdText, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
m_sliderThreshold = new wxSlider( this, wxID_ANY, 5, 0, 10, wxDefaultPosition, wxDefaultSize, wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_LABELS|wxSL_TOP ); m_sliderThreshold = new wxSlider( this, wxID_ANY, 25, 0, 50, wxDefaultPosition, wxDefaultSize, wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_TOP );
brightSizer->Add( m_sliderThreshold, 0, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); brightSizer->Add( m_sliderThreshold, 0, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
bMainSizer->Add( brightSizer, 0, wxEXPAND, 5 ); bMainSizer->Add( brightSizer, 0, wxEXPAND, 5 );
......
...@@ -670,7 +670,7 @@ ...@@ -670,7 +670,7 @@
<property name="font"></property> <property name="font"></property>
<property name="hidden">0</property> <property name="hidden">0</property>
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="maxValue">10</property> <property name="maxValue">50</property>
<property name="maximum_size"></property> <property name="maximum_size"></property>
<property name="minValue">0</property> <property name="minValue">0</property>
<property name="minimum_size"></property> <property name="minimum_size"></property>
...@@ -678,10 +678,10 @@ ...@@ -678,10 +678,10 @@
<property name="permission">protected</property> <property name="permission">protected</property>
<property name="pos"></property> <property name="pos"></property>
<property name="size"></property> <property name="size"></property>
<property name="style">wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_LABELS|wxSL_TOP</property> <property name="style">wxSL_AUTOTICKS|wxSL_HORIZONTAL|wxSL_TOP</property>
<property name="subclass"></property> <property name="subclass"></property>
<property name="tooltip"></property> <property name="tooltip"></property>
<property name="value">5</property> <property name="value">25</property>
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
......
update=23/06/2010 18:43:01 update=24/06/2010 21:06:23
last_client=pcbnew last_client=pcbnew
[general] [general]
version=1 version=1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment