Скопировать часть изображения из одного PictureBox в другой

jkrnd

Как на vb.net переписать следующее VB-6 выражение:
pictureDestination.PaintPicture  pictureSource.Picture, 0, 0, 70, 40, 0, 0, 70, 40
где pictureDestination и pictureSource -элементы управления PictureBox в pictureSource загружено какое-л. изображение 70 - ширина копируемого куска 40 - высота копируемого куска кусок копируется из верхнего левого угла pictureSource в левый верхний угол окна pictureDestinationочень не хотелось бы обращаться к API (BitBlt)
4 ответа

jkrnd

Например
Dim Bitmap1 As New Bitmap(Path.Combine(Application.StartupPath, "tst.jpg"))
PictureBox1.Image = Bitmap1
Dim Bitmap2 As Bitmap = Bitmap1.Clone(New Rectangle(0, 0, 70, 40), Bitmap1.PixelFormat)
PictureBox2.Image = Bitmap2


jkrnd

компилятор ругается на выражение Path.Combine (Array bounds cannot appear in type specifiers.). загрузил картинку в Picturebox на этапе проектирования. Всё работает. Огромное спасибо. Но всё таки, что означает Path.Combine? и что не нравится компилятору?


jkrnd

компилятор ругается на выражение Path.Combine
jkrnd, вместо "Path" напиши "IO.Path"
что означает Path.Combine
из аргументов функции собирает корректный путь к файлу, всавляя все необходимые разделители между агрументами


jkrnd

Всё понял. Всё работает! Спасибо ещё раз.