Ejemplo n.º 1
0
//Cria as imagens nucleo, que ser�o utilizadas
//no cálculos da IntermediatNextCalculate
//Calculo das satura��es das imagens e evcentualmente
//da permeabilidade relativa
void
TIConfEq3DSim::IntermediatNextCreate ()
{
    nucleoImgB = GetNucleoImgB ();
    assert (nucleoImgB != NULL);
    SaveImg (nucleoImgB, "nucleoImgB-%d.i3d");

    nucleoImgA = GetNucleoImgA ();
    assert (nucleoImgA != NULL);
    SaveImg (nucleoImgA, "nucleoImgA-%d.i3d");

    nucleoImgY = GetNucleoImgY ();
    assert (nucleoImgY != NULL);
    SaveImg (nucleoImgY, "nucleoImgY-%d.i3d");
}
Ejemplo n.º 2
0
/*  位相分布画像の作成 */
void PhaseImg(unsigned char *im0, unsigned char *im1, unsigned char *im2, unsigned char *im3, long size)
{
    /* 変数の定義*/
    unsigned char   *im_phase, *ip;
    float   *phase, *p;
    long    i;
    /* 位相画像(1画素4byte)のメモリ確保*/
    phase  = (float *)malloc(size * 4);
    /* 位相画像(1画素1byte)のメモリ確保*/
    im_phase = (unsigned char *)malloc(size);
    ip = im_phase;
    p = phase;
    /* 位相分布の計算*/
    for(i = 0; i < size; i++){
        /* 位相の計算*/
        if(*im1 != *im3)
        {
            *p = atan2( (double)(*im1) - (double)(*im3) , (double)(*im2) - (double)(*im0) );
        }
        else{ *p=0; }
        /* 位相を輝度に変換*/
        if(*p < 0){ *p += pi*2.0; }
        *ip = (*p * 254) / (pi*2.0);
        im0++;
        im1++;
        im2++;
        im3++;
        ip++;
        p++;
    }
    /* 位相画像の生成(実数)*/
    //SaveImg((unsigned char *)phase, size*4, "phase_f.raw");
    /* 位相画像の生成(整数)*/
    SaveImg((unsigned char *)im_phase, size, "phase_i.raw"); 
}
Ejemplo n.º 3
0
LRESULT CDlgImgView::OnToolbarCmd(WPARAM wParam, LPARAM lParam)
{
	LPSLANTTOOLBARINFO psti = (LPSLANTTOOLBARINFO)lParam;
	if ( psti == NULL ) return 0;

	switch ( wParam )
	{
		case 1 : OnOK(); break;

		case 2 :
		{
			// Toggle topmost state
			DWORD exstyle = GetWindowLong( GetSafeHwnd(), GWL_EXSTYLE );
			if ( ( exstyle & WS_EX_TOPMOST ) != 0 )
				::SetWindowPos( GetSafeHwnd(),
								HWND_NOTOPMOST, 0, 0, 0, 0,
								SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOSIZE );
			else
				::SetWindowPos( GetSafeHwnd(),
								HWND_TOPMOST, 0, 0, 0, 0,
								SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOSIZE );

		} break;

		case 3 : EnableCapture( !m_bCapture ); break;

		case 4 : SaveImg(); break;

		case 6 :
		{
			POINT pt = { psti->rect.left, psti->rect.bottom };
			POINT pt2 = { psti->rect.right, psti->rect.bottom };
			ClientToScreen( &pt ); ClientToScreen( &pt2 );
			ShowFxMenu( pt.x, pt.y + 2, pt2.x - m_tb.GetButtonSlant() + 2, pt2.y + 2 );
		} break;

		case 7 :
			// Toggle zoomed state
			if ( IsZoomed() ) ShowWindow( SW_SHOWNORMAL );
			else ShowWindow( SW_SHOWMAXIMIZED );
			break;

	} // end switch

	return 1;
}
Ejemplo n.º 4
0
bool FishPlayer::AddImgData(USHORT idx, USHORT size, byte *pData)
{
	if (m_pImgData && (idx + size) <= m_ImgSize && (m_UploadSize + size) <= m_ImgSize)
	{
		memcpy(m_pImgData + idx, pData, size);
		m_UploadSize += size;
		//上传完成
		if (m_UploadSize == m_ImgSize)
		{
			SaveImg();
		}
		return true;
	}
	else
	{
		SAFE_DELETE_ARR(m_pImgData);
		InnerFishLog(L"上传失败.");
		return false;
	}
}