2016-08-26 4 views
0

나는 THUMBNAIL 이미지를 취한 다음 그 프로젝트의 스크린 샷을 찍는 프로그램을 만들려고한다. 내가 프로젝트 이미지를 열면 THUMBNAIL 이미지가 없습니다. 그러나 키보드에서 Print Screen 버튼을 누르면 이미지가 정상입니다.DWM_THUMBNAIL 이미지를 저장할 수 있습니까?

나를 도와 줄 사람이 있습니까?

+0

keyboard Screen Shot

당신은 썸네일 이미지를 취하는 코드를 보여 주 시겠어요 그래서 우리는 살펴보고 문제를 찾을 수 있습니다. 코드를 보지 않고도 유용한 제안을하는 것은 매우 어려울 것입니다. – tgolisch

답변

0
private void UpdateThumb() 
    { 
     if (thumb != IntPtr.Zero) 
     { 
      PSIZE size; 
      DwmQueryThumbnailSourceSize(thumb, out size); 

      DWM_THUMBNAIL_PROPERTIES props = new DWM_THUMBNAIL_PROPERTIES(); 

      props.fVisible = true; 
      props.dwFlags = DWM_TNP_VISIBLE | DWM_TNP_RECTDESTINATION | DWM_TNP_OPACITY; 
      props.opacity = (byte)opacity.Value; 
      props.rcDestination = new Rect(image.Left, image.Top, image.Right, image.Bottom); 

      if (size.x < image.Width) 
       props.rcDestination.Right = props.rcDestination.Left + size.x; 

      if (size.y < image.Height) 
       props.rcDestination.Bottom = props.rcDestination.Top + size.y; 


      DwmUpdateThumbnailProperties(thumb, ref props); 
     } 
    } 
관련 문제