heres my class on attachments files...
heres how use it:
i have 2 errors:Code:Set ImageData = New Graphics ImageData.GetImageData Picture2 ImageData.BackColor = vbYellow ImageData.Rotate = 45 ImageData.Mirror = HorizontalVertical ImageData.DrawImageData Picture1, 40, 40 Set ImageData = Nothing
1 - the BackColor isn't changed and i don't see why
2 - by some reason the rotation values\results aren't correctedCode:'change image backcolor If ImageDataChanged(X + 2, Y) <> clrBackColor.Red And ImageDataChanged(X + 1, Y) <> clrBackColor.Green And ImageDataChanged(X, Y) <> clrBackColor.Blue Then ImageDataChanged(X + 2, Y) = clrBackColor.Red ImageDataChanged(X + 1, Y) = clrBackColor.Green ImageDataChanged(X, Y) = clrBackColor.Blue End If
ca anyone advice me?Code:For X = 0 To ByteAlignOnWord(bmi.bmHeader.bmBitCount, lngWidthImage) - 3 Step 3 For Y = 0 To lngHeigthImage - 1 'Rotate an image If lngRotate <> 0 Then RC = InvRotateCoord(X, Y, lngWidthImage / 2, lngHeigthImage / 2, lngRotate) If RC.RotatedX <= 0 Or RC.RotatedX >= bm.bmWidth Or RC.RotatedY <= 0 Or RC.RotatedY >= bm.bmHeight Then 'do nothing Else ImageDataChanged(X + 2, Y) = ImageData(RC.RotatedX + 2, RC.RotatedY) ImageDataChanged(X + 1, Y) = ImageData(RC.RotatedX + 1, RC.RotatedY) ImageDataChanged(X, Y) = ImageData(RC.RotatedX, RC.RotatedY) If RGB(ImageDataChanged(X + 2, Y), ImageDataChanged(X + 1, Y), ImageDataChanged(X, Y)) = &HFFFF Or X >= bm.bmWidth Or Y >= bm.bmHeight Then ImageDataChanged(X + 2, Y) = clrOldBackColor.Red ImageDataChanged(X + 1, Y) = clrOldBackColor.Green ImageDataChanged(X, Y) = clrOldBackColor.Blue End If End If Else ImageDataChanged(X + 2, Y) = ImageData(X + 2, Y) ImageDataChanged(X + 1, Y) = ImageData(X + 1, Y) ImageDataChanged(X, Y) = ImageData(X, Y) End If




Reply With Quote
Mark Thread Resolved
