PDA

View Full Version : چه طور می شه این پیکچر باکس رو چرخوند؟؟؟؟



goldpower
دوشنبه 05 تیر 1391, 18:45 عصر
چه طور می شه که پیکچر باکسی که داخلش بارکد قرار داره به صورت عمودی در بیاد ؟؟؟

http://axgig.com/images/77010769898406359113.jpg



http://uplod.ir/l06wbty7efey/test_ghg.rar.htm

Mohamad ghorbani
دوشنبه 05 تیر 1391, 19:00 عصر
چه طور می شه که پیکچر باکسی که داخلش بارکد قرار داره به صورت عمودی در بیاد ؟؟؟

خود پیکچر باکس رو نمی تونی بچرخونی.
باید از از کامپننت های دیگه ای استفاده کنی.
توی قسمت کامپوننت ها بگردی پیدا می کنی.
اگه پیدا نشد بگو برات پیدا کنم
موفق باشی

goldpower
دوشنبه 05 تیر 1391, 19:20 عصر
خود پیکچر باکس رو نمی تونی بچرخونی.
باید از از کامپننت های دیگه ای استفاده کنی.
توی قسمت کامپوننت ها بگردی پیدا می کنی.
اگه پیدا نشد بگو برات پیدا کنم
موفق باشی

پیدا نکردم
ولی در کل من می خوام محتوای پیکچر باکس رو بچرخونم.

setroyd
دوشنبه 05 تیر 1391, 23:22 عصر
Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Const SRCCOPY = &HCC0020


Private Sub Command1_Click()
Picture1.ScaleMode = 3 ' pixels
'flip horizontal
Call StretchBlt(Picture1.hdc, Picture1.ScaleWidth, 0, Picture1.ScaleWidth * -1, Picture1.ScaleHeight, Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, SRCCOPY)
'flip vertically
Call StretchBlt(Picture1.hdc, 0, Picture1.ScaleHeight, Picture1.ScaleWidth, Picture1.ScaleHeight * -1, Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, SRCCOPY)

End Sub




ببین این به کارت میاد

Mohamad ghorbani
سه شنبه 06 تیر 1391, 07:32 صبح
من خودم از این کامپوننت استفاده می کردم :
http://uplod.ir/lv7w99tjweve/AlphaImgControl.rar.htm

goldpower
سه شنبه 06 تیر 1391, 08:42 صبح
Private Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Const SRCCOPY = &HCC0020


Private Sub Command1_Click()
Picture1.ScaleMode = 3 ' pixels
'flip horizontal
Call StretchBlt(Picture1.hdc, Picture1.ScaleWidth, 0, Picture1.ScaleWidth * -1, Picture1.ScaleHeight, Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, SRCCOPY)
'flip vertically
Call StretchBlt(Picture1.hdc, 0, Picture1.ScaleHeight, Picture1.ScaleWidth, Picture1.ScaleHeight * -1, Picture1.hdc, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, SRCCOPY)

End Sub




ببین این به کارت میاد


باید به صورت عمودی در بیاد.

http://axgig.com/images/03917367480813633778.jpg

just4froum
سه شنبه 06 تیر 1391, 11:51 صبح
بفرمایید :

Dim Data() As ColorConstants
Private Sub Command1_Click()
Dim ScanX As Long, ScanY As Long
ReDim Data(Pic.ScaleWidth - 1, Pic.ScaleHeight - 1)

For ScanX = 0 To UBound(Data, 1)
For ScanY = 0 To UBound(Data, 2)
Data(ScanX, ScanY) = Pic.Point(ScanX, ScanY)
Next ScanY
Next ScanX
Pic.Picture = LoadPicture()

ScanX = Pic.Width
Pic.Width = Pic.Height
Pic.Height = ScanX

For ScanY = 0 To UBound(Data, 2)
For ScanX = 0 To UBound(Data, 1)
Pic.PSet (ScanY, UBound(Data, 1) - ScanX), Data(ScanX, ScanY)
Next ScanX
Next ScanY

End Sub

Private Sub Form_Load()
Pic.Picture = LoadPicture("G:\123.jpg")
Pic.ScaleMode = 3
Pic.AutoRedraw = True
End Sub

goldpower
سه شنبه 06 تیر 1391, 12:25 عصر
بفرمایید :

Dim Data() As ColorConstants
Private Sub Command1_Click()
Dim ScanX As Long, ScanY As Long
ReDim Data(Pic.ScaleWidth - 1, Pic.ScaleHeight - 1)

For ScanX = 0 To UBound(Data, 1)
For ScanY = 0 To UBound(Data, 2)
Data(ScanX, ScanY) = Pic.Point(ScanX, ScanY)
Next ScanY
Next ScanX
Pic.Picture = LoadPicture()

ScanX = Pic.Width
Pic.Width = Pic.Height
Pic.Height = ScanX

For ScanY = 0 To UBound(Data, 2)
For ScanX = 0 To UBound(Data, 1)
Pic.PSet (ScanY, UBound(Data, 1) - ScanX), Data(ScanX, ScanY)
Next ScanX
Next ScanY

End Sub

Private Sub Form_Load()
Pic.Picture = LoadPicture("G:\123.jpg")
Pic.ScaleMode = 3
Pic.AutoRedraw = True
End Sub


اگه می شه این تغییرات رو روی برنامه پست اول که اپلود کردم اعمال کنید .

چون من اعمال کردم ولی جواب نداد !!!!! مشکل برمی گرده به محتویات پیکچر باکس ( پیکچر باکس می چرخه ولی محتویاتش ثابت می مونه )

goldpower
سه شنبه 06 تیر 1391, 16:33 عصر
کد های شما رو در فایل barcode.ctl قرار دادم . ( برنامه پست اول (http://barnamenevis.org/showthread.php?347817-%DA%86%D9%87-%D8%B7%D9%88%D8%B1-%D9%85%DB%8C-%D8%B4%D9%87-%D8%A7%DB%8C%D9%86-%D9%BE%DB%8C%DA%A9%DA%86%D8%B1-%D8%A8%D8%A7%DA%A9%D8%B3-%D8%B1%D9%88-%DA%86%D8%B1%D8%AE%D9%88%D9%86%D8%AF%D8%9F%D8%9F%D 8%9F%D8%9F&p=1533861&viewfull=1#post1533861) )

جواب داد ولی خیلی کند عمل می کنه . اینم کد های اون صفحه :


Private Sub DrawBarCode()

Dim Data() As ColorConstants

pctBar.Cls

Barcode m_CodeName(m_CodeNameIndex), m_Value, pctBar, 1, 60, 2, 20
pctBar.ScaleMode = 3
pctBar.AutoRedraw = True

Dim ScanX As Long, ScanY As Long
ReDim Data(pctBar.ScaleWidth - 1, pctBar.ScaleHeight - 1)

For ScanX = 0 To UBound(Data, 1)
For ScanY = 0 To UBound(Data, 2)
Data(ScanX, ScanY) = pctBar.Point(ScanX, ScanY)
Next ScanY
Next ScanX

ScanX = pctBar.Width
pctBar.Width = pctBar.Height
pctBar.Height = ScanX

For ScanY = 0 To UBound(Data, 2)
For ScanX = 0 To UBound(Data, 1)
pctBar.PSet (ScanY, UBound(Data, 1) - ScanX), Data(ScanX, ScanY)
Next ScanX
Next ScanY

End Sub