public override void Work() { ICommImage socket = (ICommImage)_in[0]; IImage[] img = socket.Images; images = new Gdk.Pixbuf[img.Length]; thumbs = new Gdk.Pixbuf[img.Length]; cat = socket.Categories; double scale; for (int i = 0; i < img.Length; i++) { IImage _img = new IImage(img[i].BPP, img[i].W, img[i].H, img[i].Data, invert); if (invert) { _img.Invert(); } images[i] = _img.CreatePixbuf(); if (_img.W > _img.H) { scale = _img.W / 64.0; } else { scale = _img.H / 64.0; } thumbs[i] = images[i].ScaleSimple(Scale(_img.W, scale), Scale(_img.H, scale), Gdk.InterpType.Bilinear); } _workdone = true; }
public override void Work() { ICommResult r = _in[0] as ICommResult; itest = new Gdk.Pixbuf[r.Length]; thumbs = new Gdk.Pixbuf[r.Length]; ibase = new Gdk.Pixbuf[r.OriginalBaseImages.Length]; double scale; for (int i = 0; i < itest.Length; i++) { IImage _img = r.OriginalTestImages[i]; IImage img = new IImage(_img.BPP, _img.W, _img.H, _img.Data, invert); if (invert) { img.Invert(); } if (img.W > img.H) { scale = img.W / 256.0; } else { scale = img.H / 256.0; } Gdk.Pixbuf tmp = img.CreatePixbuf(); itest[i] = tmp.ScaleSimple(Scale(img.W, scale), Scale(img.H, scale), Gdk.InterpType.Bilinear); if (img.W > img.H) { scale = img.W / 64.0; } else { scale = img.H / 64.0; } thumbs[i] = itest[i].ScaleSimple(Scale(img.W, scale), Scale(img.H, scale), Gdk.InterpType.Bilinear); } for (int i = 0; i < ibase.Length; i++) { IImage _img = r.OriginalBaseImages[i]; IImage img = new IImage(_img.BPP, _img.W, _img.H, _img.Data, invert); if (invert) { img.Invert(); } if (img.W > img.H) { scale = img.W / 256.0; } else { scale = img.H / 256.0; } Gdk.Pixbuf tmp = img.CreatePixbuf(); ibase[i] = tmp.ScaleSimple(Scale(img.W, scale), Scale(img.H, scale), Gdk.InterpType.Bilinear); } res = r.FindResultsSimple(); cat1 = r.BaseCategories; cat2 = r.TestCategories; match = r.Match; _workdone = true; }