kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #13263
Re: Bug in Bit Map to component tool
IIRC it is already fixed in the product branch.
Den 08/05/2014 02.43 skrev "Peter Wintulich" <peter@xxxxxxxxxxxxxxxxxx>:
> Hello,
> I think I have found a small error in the Bit Map to component tool.
> It is most noticeable when 'Negate Image' is selected in the options.
> It produces graphic artifacts along the top edge from the left and down
> the left side from the top.
>
> The errors appear to be the for next loops counting from one rather than
> from zero.
> I tested it in a local copy from the repository and this removed the
> artifacts.
>
> Regards Peter Wintulich
>
> Line 257 and 258 should be :
>
> for( int y = 0; y < h; y++ )
> for( int x = 0; x < w; x++ )
>
> Line 279 and 280 should be :
>
> for( int y = 0; y < h; y++ )
> for( int x = 0; x < w; x++ )
>
>
>
> In File:
> ~kicad-stable-committers/kicad/stable<https://code.launchpad.net/%7Ekicad-stable-committers/kicad/stable> :
> /bitmap2component<http://bazaar.launchpad.net/%7Ekicad-stable-committers/kicad/stable/files/4027/bitmap2component>/bitmap2cmp_gui.cpp
> (revision 4027)
>
> Existing code is
> Lines 249 through 286.
>
> void BM2CMP_FRAME::Binarize( double aThreshold ){
> unsigned int pixin;
> unsigned char pixout;
> int h = m_Greyscale_Image.GetHeight();
> int w = m_Greyscale_Image.GetWidth();
> unsigned int threshold = (int)(aThreshold * 256);
>
> for( int y = 1; y < h; y++ )
> for( int x = 1; x < w; x++ )
> {
> pixin = m_Greyscale_Image.GetGreen( x, y );
>
> if( pixin < threshold )
> pixout = 0;
> else
> pixout = 255;
>
> m_NB_Image.SetRGB( x, y, pixout, pixout, pixout );
> }
>
> m_BN_Bitmap = wxBitmap( m_NB_Image );}
> void BM2CMP_FRAME::NegateGreyscaleImage( ){
> unsigned char pix;
> int h = m_Greyscale_Image.GetHeight();
> int w = m_Greyscale_Image.GetWidth();
>
> for( int y = 1; y < h; y++ )
> for( int x = 1; x < w; x++ )
> {
> pix = m_Greyscale_Image.GetGreen( x, y );
> pix = ~pix;
> m_Greyscale_Image.SetRGB( x, y, pix, pix, pix );
> }}
>
>
> --
>
> Peter Wintulich
>
> Voicetronix Pty. Ltd.
> Level 1, 246 Pulteney Street,
> ADELAIDE 5000
> South Australia
> AUSTRALIA+61 8 8232 9112
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help : https://help.launchpad.net/ListHelp
>
>
Follow ups
References