← Back to team overview

kicad-developers team mailing list archive

Re: Bug in Bit Map to component tool

 

For the sake of the archive it was in
http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/revision/4641

2014-05-08 7:10 GMT+02:00 Nick Østergaard <oe.nick@xxxxxxxxx>:
> 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 :
>> /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
>>
>


References