X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpdf%2FGFXOutputDev.cc;h=288de6eba2ae9429b7edbff9811ba649e67a9ece;hb=6a529bfa890997a55fec9ae0e0d388cf9d5276c2;hp=c88a0357ac96f8b8857f8a82263f3cc7c297d91b;hpb=ca3620f4bcd801624ac2232e6e20d0eec5c424e9;p=swftools.git diff --git a/lib/pdf/GFXOutputDev.cc b/lib/pdf/GFXOutputDev.cc index c88a035..288de6e 100644 --- a/lib/pdf/GFXOutputDev.cc +++ b/lib/pdf/GFXOutputDev.cc @@ -596,13 +596,6 @@ void GFXOutputDev::setParameter(const char*key, const char*value) this->config_fontquality = atof(value); if(this->config_fontquality<=1) this->config_fontquality=1; - } else if(!strcmp(key,"help")) { - printf("\nPDF layer options:\n"); - printf("breakonwarning=0/1 Abort conversion if graphic objects are found which\n"); - printf(" are not 100%% supported\n"); - printf("transparent=0/1 Make PDF transparent (alpha background)\n"); - printf("extrafontdata=0/1 Store Type3 characters and capture characters\n"); - printf("fontquality=1..100 Curve approximation quality of the fonts\n"); } } @@ -2054,6 +2047,7 @@ static void drawimage(gfxdevice_t*dev, gfxcolor_t* data, int sizex,int sizey, /* TODO: pass image_dpi to device instead */ dev->setparameter(dev, "next_bitmap_is_jpeg", "1"); + dump_outline(&p1); dev->fillbitmap(dev, &p1, &img, &m, 0); } @@ -2144,10 +2138,20 @@ void GFXOutputDev::drawGeneralImage(GfxState *state, Object *ref, Stream *str, return; } - this->transformXY(state, 0, 1, &x1, &y1); x1 = (int)(x1);y1 = (int)(y1); - this->transformXY(state, 0, 0, &x2, &y2); x2 = (int)(x2);y2 = (int)(y2); - this->transformXY(state, 1, 0, &x3, &y3); x3 = (int)(x3);y3 = (int)(y3); - this->transformXY(state, 1, 1, &x4, &y4); x4 = (int)(x4);y4 = (int)(y4); + this->transformXY(state, 0, 1, &x1, &y1); + this->transformXY(state, 0, 0, &x2, &y2); + this->transformXY(state, 1, 0, &x3, &y3); + this->transformXY(state, 1, 1, &x4, &y4); + + if(type3active) { + /* as type 3 bitmaps are antialized, we need to place them + at integer coordinates, otherwise flash player's antializing + will kick in and make everything blurry */ + x1 = (int)(x1);y1 = (int)(y1); + x2 = (int)(x2);y2 = (int)(y2); + x3 = (int)(x3);y3 = (int)(y3); + x4 = (int)(x4);y4 = (int)(y4); + } if(!pbminfo && !(str->getKind()==strDCT)) { if(!type3active) {