Προς το περιεχόμενο

visual basic εικονες στην φορμα


dimitrisOS

Προτεινόμενες αναρτήσεις

Δημοσ.

θα ηθελα να φτειαξω σε μια φορμα η κεντρικη να εμφανιζεται μια φωτογραφια που να μπορω να της κανω + - zoοm και να την κατακοινω για μπορω να την βλεπω ολη ή αν μπορω να φορτωσω καποιες φωτο 5-6 σε συγγεκριμενη σειρα ξερει κανεις τιποτα πως μπορω να το κανω ;

 

1. οι φωτογραφιες τις εχω σε κομματια που ειναι σε πολυ καλη αναλυση

2. με picturebox θα γινει ;

Δημοσ.

Βάλε ένα PictureBox μέσα σε ένα Panel. Έτσι, κάθε φορά που οι διαστάσεις του PictureBox είναι μεγαλύτερες από αυτές του Panel, θα σου εμφανίζονται Scroll Bars (οριζόντια/κατακόρυφα).

 

Το Zoom μπορείς να το πετύχεις αν βάλεις την εικόνα σου να κάνει Stretch στο PictureBox. Έτσι το μόνο που θα χρειάζεται να κάνεις είναι να αλλάζεις (ομοιόμορφα) τις διαστάσεις του PictureBox. Θα πρέπει να προσέξεις να διατηρήσεις τις αρχικές αναλογίες της εικόνας.

 

Εκτός από την μετακίνηση της εικόνας μέσω του Panel, μπορείς να το κάνεις και με άλλο τρόπο. Μόλις κάνεις (αριστερό) Click στην εικόνα θα πρέπει να αποθηκεύσεις τις συντεταγμένες του Cursor. Μόλις αφήσεις το (αριστερό) κουμπί του ποντικιού αποθηκεύεις εκ νέου τις συντεταγμένες του Cursor. Έπειτα αφαιρείς τις δυο συντεταγμένες (Χ1 - Χ2, Υ1 - Υ2) και μετακινείς την εικόνα ανάλογα, αλλάζοντας το Location της.

 

Τα παραπάνω είναι πολύ γενικά και έχουν σκοπό να σου δώσουν μια ιδέα. Σίγουρα υπάρχουν καλύτερες λύσεις (πχ/ η χρήση εξειδικευμένου Control για αυτή την δουλειά) αν ψάξεις στο Internet.

Δημοσ.

Βάλε ένα PictureBox μέσα σε ένα Panel. Έτσι, κάθε φορά που οι διαστάσεις του PictureBox είναι μεγαλύτερες από αυτές του Panel, θα σου εμφανίζονται Scroll Bars (οριζόντια/κατακόρυφα).

 

Το Zoom μπορείς να το πετύχεις αν βάλεις την εικόνα σου να κάνει Stretch στο PictureBox. Έτσι το μόνο που θα χρειάζεται να κάνεις είναι να αλλάζεις (ομοιόμορφα) τις διαστάσεις του PictureBox. Θα πρέπει να προσέξεις να διατηρήσεις τις αρχικές αναλογίες της εικόνας.

 

Εκτός από την μετακίνηση της εικόνας μέσω του Panel, μπορείς να το κάνεις και με άλλο τρόπο. Μόλις κάνεις (αριστερό) Click στην εικόνα θα πρέπει να αποθηκεύσεις τις συντεταγμένες του Cursor. Μόλις αφήσεις το (αριστερό) κουμπί του ποντικιού αποθηκεύεις εκ νέου τις συντεταγμένες του Cursor. Έπειτα αφαιρείς τις δυο συντεταγμένες (Χ1 - Χ2, Υ1 - Υ2) και μετακινείς την εικόνα ανάλογα, αλλάζοντας το Location της.

 

Τα παραπάνω είναι πολύ γενικά και έχουν σκοπό να σου δώσουν μια ιδέα. Σίγουρα υπάρχουν καλύτερες λύσεις (πχ/ η χρήση εξειδικευμένου Control για αυτή την δουλειά) αν ψάξεις στο Internet.

 

σε ευχαριστω για την βοηθεια αλλα θα ηθελα αυτη η εικονα να μεγαλωνη με button , στο internet πως θα το ψαξω αυτο το θεμα ;

Δημοσ.

Και πού είναι το πρόβλημα στο να μεγαλώνει με Button;

επειδη δεν γνωριζω και παρα παλλα συγγεκριμενα τα βασικα που εχουμε μαθει στην σχολη.

 

1. στην φορμα βαζω ενα panel και ενα picturebox εχει σχεσει πιο θα ειναι πιο μεγαλο και πιο μηκρο ;

 

επειδη δεν γνωριζω και παρα παλλα συγγεκριμενα τα βασικα που εχουμε μαθει στην σχολη.

 

1. στην φορμα βαζω ενα panel και ενα picturebox εχει σχεσει πιο θα ειναι πιο μεγαλο και πιο μηκρο ;

 

τελεικα βρεικα να βαζω απλα μια εικονα στο picturebox και με δυο κουμπια + - να κανει μεγενθυση-σμυκρινση ομως πως μπορω να το σερνω την εικονα δηλαδη να την τραβαω με το ποντικη και να βλεπω πιο κατω απο την εικονα ;

 

ο κωδικας για το zoom ειναι

>
Me.PictureBox1.Width += 10%
Me.PictureBox1.Height += 10%

Me.PictureBox1.Width -= 10%
Me.PictureBox1.Height -= 10%

Δημοσ.

[...]1. στην φορμα βαζω ενα panel και ενα picturebox εχει σχεσειη πιο θα ειναι πιο μεγαλο και πιο μηικρο ;[...]

Βάζεις το PictureBox μέσα στο Panel. Αυτό σημαίνει πως αν οι διαστάσεις του PictureBox είναι μεγαλύτερες από αυτές του Panel, τότε θα εμφανιστούν Scroll Bars και θα μπορείς να μετακινείς την εικόνα δεξιά/αριστερά/πάνω/κάτω. Συνεπώς, δεν έχει σχέση πιο θα είναι πιο μεγάλο και πιο μικρό.

Δημοσ.

Βάζεις το PictureBox μέσα στο Panel. Αυτό σημαίνει πως αν οι διαστάσεις του PictureBox είναι μεγαλύτερες από αυτές του Panel, τότε θα εμφανιστούν Scroll Bars και θα μπορείς να μετακινείς την εικόνα δεξιά/αριστερά/πάνω/κάτω. Συνεπώς, δεν έχει σχέση πιο θα είναι πιο μεγάλο και πιο μικρό.

 

δεν ξερω τι κανω λαθος βαζω να panel 200χ150 και επανω του ενα picturebox 180χ120 και του φωρτωνω μια εικονα και παταω play αλλα τιποτα μου δειχνη την εικονα κομενη μονο χωρις scrollbar

Δημοσ.

τελεικα εβαλα ενα picturebox και φορτωσα την εικονα και πατησα stretch image και εγραψα

Me.PictureBox1.Width += 30%

Me.PictureBox1.Height += 30%

 

και τωρα κανει zoom πανω αριστερα πως μπορω να βαλω να κανει στι κεντρο ζοομ ;

Δημοσ.

Το πρόγραμμα αυτό γραμμένο σε RapidQ Basic φορτώνει μια εικόνα bmp και εν συνεχεία μπορείς να κάνεις το zoom (+/-). Αν δεν έχεις compiler της RapidQ ψάξε στην Wikipedia για να βρεις τo link για download. Είναι freeware.

 

RapidQ Compiler for Windows: http://www.telefonica.net/web2/rq/WiYu/zip/rqbeta.zip

Examples (520 KB): http://www.telefonica.net/web2/rq/WiYu/zip/examples.zip

 

>
$TYPECHECK ON
$INCLUDE "RAPIDQ.INC"

DECLARE SUB Load_Click (Sender AS QBUTTON)
DECLARE SUB Exit_Click (Sender AS QBUTTON)
DECLARE SUB ZoomP_Click (Sender AS QBUTTON)
DECLARE SUB ZoomM_Click (Sender AS QBUTTON)

DIM   OpenDialog AS QOPENDIALOG
CONST IDCANCEL = 2
DIM   tmpfile as string, coeff as double

coeff = 0.2

CREATE Form AS QFORM
   Caption = "Form1"
   Width  = 320
   Height = 240
   delBorderIcons(2)
   Color = &HFFFFFF
   Center
   WindowState = 1
   BorderStyle = 2

 CREATE mnumain AS QMAINMENU
  CREATE mnuFile AS QMENUITEM
   CAPTION = "&File"
   ENABLED = 1
   VISIBLE = 1
   
   CREATE mnuLoad AS QMENUITEM
   CAPTION = "&Load file"
   ENABLED = 1  
   SHORTCUT = "Ctrl+L"
   VISIBLE = 1
   OnClick = Load_Click
   END CREATE
   
   CREATE mnuSave AS QMENUITEM
   CAPTION = "&Save"
   ENABLED = 0  
   SHORTCUT = "Ctrl+S"
   VISIBLE = 1
   END CREATE
   
   CREATE mnuSaveAs AS QMENUITEM
   CAPTION = "Save&As"
   ENABLED = 0 
   VISIBLE = 1
   END CREATE
      
   CREATE Bar0 AS QMENUITEM
   Caption = "-"
   ENABLED = 1  
   VISIBLE = 1
   END CREATE

   CREATE mnuZoomP AS QMENUITEM
   CAPTION = "Zoom +"
   ENABLED = 0 
   VISIBLE = 1
   ONCLICK = ZoomP_Click
   END CREATE

   CREATE mnuZoomM AS QMENUITEM
   CAPTION = "Zoom -"
   ENABLED = 0 
   VISIBLE = 1
   ONCLICK = ZoomM_Click
   END CREATE
       
   CREATE mnuPrint AS QMENUITEM
   Caption = "&Print"
   ENABLED = 0  
   SHORTCUT = "Ctrl+P"
   VISIBLE = 1
   END CREATE
   
   CREATE Bar1 AS QMENUITEM
   Caption = "-"
   ENABLED = 1  
   VISIBLE = 1
   END CREATE
   
   CREATE mnuExit AS QMENUITEM
   Caption = "&Exit"
   ENABLED = 1
   SHORTCUT = "Alt+F4"
   VISIBLE = 1
   ONCLICK = Exit_Click
   END CREATE    
   
  END CREATE    
 END CREATE    

   
   CREATE Image1 AS QIMAGE
   Left = 0
   Top = 0
   Width  = 320
   Height = 240
   Autosize = 1
   Stretch = 1
   END CREATE
   

END CREATE

Form.ShowModal

SUB Load_Click (Sender AS QBUTTON)
OpenDialog.Filter="Bitmap files (*.bmp)|*.bmp"
IF OpenDialog.Execute = IDCANCEL THEN
  EXIT SUB
  ELSE      
  tmpfile=OpenDialog.FileName
  Image1.BMP = tmpfile
END IF 

IF tmpfile<>"" THEN
     mnuZoomP.enabled = 1
     mnuZoomM.enabled = 1
     ELSE
     mnuZoomP.enabled = 0
     mnuZoomM.enabled = 0
END IF
END SUB

SUB ZoomP_Click
Image1.width=(1+coeff)*Image1.width
Image1.height=(1+coeff)*Image1.height
END SUB

SUB ZoomM_Click
Image1.width=(1-coeff)*Image1.width
Image1.height=(1-coeff)*Image1.height
END SUB

SUB Exit_Click
   Application.Terminate
END SUB

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...