View Full Version : چه طور می شه این پیکچر باکس رو چرخوند؟؟؟؟
goldpower
دوشنبه 05 تیر 1391, 19:45 عصر
چه طور می شه که پیکچر باکسی که داخلش بارکد قرار داره به صورت عمودی در بیاد ؟؟؟
http://axgig.com/images/77010769898406359113.jpg
http://uplod.ir/l06wbty7efey/test_ghg.rar.htm
Mohamad ghorbani
دوشنبه 05 تیر 1391, 20:00 عصر
چه طور می شه که پیکچر باکسی که داخلش بارکد قرار داره به صورت عمودی در بیاد ؟؟؟
خود پیکچر باکس رو نمی تونی بچرخونی.
باید از از کامپننت های دیگه ای استفاده کنی.
توی قسمت کامپوننت ها بگردی پیدا می کنی.
اگه پیدا نشد بگو برات پیدا کنم
موفق باشی
goldpower
دوشنبه 05 تیر 1391, 20:20 عصر
خود پیکچر باکس رو نمی تونی بچرخونی.
باید از از کامپننت های دیگه ای استفاده کنی.
توی قسمت کامپوننت ها بگردی پیدا می کنی.
اگه پیدا نشد بگو برات پیدا کنم
موفق باشی
پیدا نکردم
ولی در کل من می خوام محتوای پیکچر باکس رو بچرخونم.
setroyd
سه شنبه 06 تیر 1391, 00: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, 08:32 صبح
من خودم از این کامپوننت استفاده می کردم :
http://uplod.ir/lv7w99tjweve/AlphaImgControl.rar.htm
goldpower
سه شنبه 06 تیر 1391, 09: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, 12: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, 13: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, 17: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
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.