- else
- {
- temp_frame = new VFrame;
- temp_frame->set_use_shm(0);
- temp_frame->reallocate(0,
- -1,
- 0,
- 0,
- 0,
- frame->get_w(),
- frame->get_h(),
- BC_RGBA8888,
- -1);
-
- BC_CModels::transfer(temp_frame->get_rows(), frame->get_rows(),
- 0, 0, 0, 0, 0, 0,
- 0, 0, frame->get_w(), frame->get_h(),
- 0, 0, temp_frame->get_w(), temp_frame->get_h(),
- frame->get_color_model(), temp_frame->get_color_model(),
- 0, frame->get_w(), temp_frame->get_w());
+
+ int tx = tw/2, ty = th/2, tx1 = tx-1, ty1 = ty-1, tx2 = tx+2, ty2 = ty+2;
+ int bpp = BC_CModels::calculate_pixelsize(temp_frame->get_color_model());
+ unsigned char **rows = temp_frame->get_rows();
+ for( int y=ty1; y<ty2; ++y ) {
+ for( int x=tx1; x<tx2; ++x ) {
+ unsigned char *rp = rows[y] + x*bpp;
+ rp[3] = 0; // alpha of center pixels = 0
+ }