kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #13278
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