2011-07-19 43 views
1

我嘗試將從文件派生的圖像縮放到任何(明智的)刻度。刻度表面不模糊

問題是,開羅somhow autoblurrs它。我如何修復/刪除它?目的是查看單個像素。

感謝您的回覆。

編輯:一些代碼,觸發"draw"事件,父母是GtkDrawingArea

static gboolean 
cb_event_draw (GtkWidget *obj, cairo_t *cr, gpointer data) 
{ 
    guint width, height; 

    width = gtk_widget_get_allocated_width (obj); 
    height = gtk_widget_get_allocated_height (obj); 
    _priv = ...; //some struct 


// cairo_save (cr); 
    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE); 
    cairo_scale (cr, _priv->zoom, _priv->zoom); 


    cairo_set_source_surface (cr, _priv->image, 0., 0.); 
    cairo_set_antialias (cr, CAIRO_ANTIALIAS_NONE); 
    cairo_pattern_set_filter (cr, CAIRO_FILTER_FAST); // no matter if this is there or not 
    // it does actually, matter, works with this: 
    // cairo_pattern_set_filter (cairo_get_source (cr), CAIRO_FILTER_FAST); 
    cairo_paint (cr); 

// print some markers at defined locations 


    return FALSE; 
} 
+0

你能提供一個例子片斷? –

回答

3

我懷疑你需要:

cairo_pattern_set_filter(cairo_get_source(cr), CAIRO_FILTER_FAST);