Страница: 1 | 
		
		 
			   
			 
			 Здравствуйте все. Есть вопрос по PictureBox. И ещё вопрос, если масштабировать не этим алгоритмом, а через StretchBlt, от возникают искажения цвета, новый рисунок получается как на компьютерной томографии, с какими-то цветными окантовками и разводами. Почему это может быть? Заранее спасибо за ответы. 
			 
			 Попробуй создать логический Битмап с помощью GreateCompatibleBitmap и когда нужно рисовать на устройство с помощью BitBlt.  Примера у меня нет. Так что тебе прямая дорога в поисковик. Страница: 1 | 
 
			
 
  
		
     
  
    
Вопрос: PictureBox
     
    
Добавлено: 09.02.04 16:40
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
    
 cresta
      
       
  
 
    
Как можно "закрепить" рисунок, перерисованный из одного PictureBox'а в другой. Установка AutoRedraw = True ничего не даёт :( когда уводишь рисунок за край экрана и потом возвращаешь его назад, то рисунок стирается. Может чего не так сделал, вот код:
    Dim pX As Single, pY As Single, hColor As Long
    Dim hSource As Long, hDest As Long
    Dim X As Long, Y As Long, nWidth As Long, nHeight As Long, _
        xSrc As Long, ySrc As Long, nSrcWidth As Long, nSrcHeight As Long
    Dim dx As Single, dy As Single, stp As Long
    dx = Frm2.Picture1.Width / Picture1.Width
    dy = Frm2.Picture1.Height / Picture1.Height
    If dx > dy Then
        stp = dx
    Else
        stp = dy
    End If
    Picture1.AutoRedraw = True
    hDest = GetDC(Picture1.hwnd)
    hSource = Frm2.Picture1.hdc
    pX = Picture1.Width / Screen.TwipsPerPixelX: pY = Picture1.Height / Screen.TwipsPerPixelY
    For X = 0 To pX
        For Y = 0 To pY
            hColor = GetPixel(hSource, X * stp, Y * stp)
            If hColor = -1 Then Exit For
            SetPixel hDest, X, Y, hColor
        Next Y
    Next X
    ReleaseDC Picture1.hwnd, hDest
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 2
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа:
 CyRax 
![]()
![]()
![]()
![]()
Разработчик Offline Client
ICQ: 204447456 
Вопросов: 180
Ответов: 4229
      
 Web-сайт:  
 Профиль |  | #1
      
Добавлено:  10.02.04 08:28
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа:
 cresta
![]()
![]()
Вопросов: 117
Ответов: 1538
      
 Профиль |  | #2
       
Добавлено:  10.02.04 11:04
       
    
       
  
Спасибо, буду разбираться