bitmap2component: Fix logic for alpha mask

For POTRACE, black is the foreground and white is the background.  We
should keep the convention by requiring the pixin to be less than the
black threshhold as well as the alpha to be at least the alpha
threshhold.

Fixes: lp:1821563
* https://bugs.launchpad.net/kicad/+bug/1821563
This commit is contained in:
Seth Hillbrand 2019-06-08 12:01:24 -07:00
parent 35e87128f5
commit f1704fd61a
2 changed files with 1 additions and 2 deletions

View File

@ -450,7 +450,7 @@ void BM2CMP_FRAME::Binarize( double aThreshold )
auto alpha = m_Greyscale_Image.HasAlpha() ? auto alpha = m_Greyscale_Image.HasAlpha() ?
m_Greyscale_Image.GetAlpha( x, y ) : wxALPHA_OPAQUE; m_Greyscale_Image.GetAlpha( x, y ) : wxALPHA_OPAQUE;
if( pixin < threshold || alpha < alpha_thresh ) if( pixin < threshold && alpha > alpha_thresh )
pixout = 0; pixout = 0;
else else
pixout = 255; pixout = 255;

View File

@ -155,7 +155,6 @@ int bitmap2component( potrace_bitmap_t* aPotrace_bitmap, FILE* aOutfile,
return 1; return 1;
} }
printf("Step 1\n");
BITMAPCONV_INFO info; BITMAPCONV_INFO info;
info.m_PixmapWidth = aPotrace_bitmap->w; info.m_PixmapWidth = aPotrace_bitmap->w;
info.m_PixmapHeight = aPotrace_bitmap->h; // the bitmap size in pixels info.m_PixmapHeight = aPotrace_bitmap->h; // the bitmap size in pixels