home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 3_2004-2005.ISO / Data / Zips / SketchPhot1773657242004.psc / Form1.frm < prev    next >
Text File  |  2004-07-24  |  10KB  |  377 lines

  1. VERSION 5.00
  2. Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
  3. Begin VB.Form Form1 
  4.    Caption         =   "Sketch !"
  5.    ClientHeight    =   6210
  6.    ClientLeft      =   60
  7.    ClientTop       =   450
  8.    ClientWidth     =   9675
  9.    LinkTopic       =   "Form1"
  10.    MouseIcon       =   "Form1.frx":0000
  11.    ScaleHeight     =   730
  12.    ScaleMode       =   3  'Pixel
  13.    ScaleWidth      =   1016
  14.    StartUpPosition =   3  'Windows Default
  15.    WindowState     =   2  'Maximized
  16.    Begin VB.CommandButton cmdHelp 
  17.       Caption         =   "About"
  18.       Height          =   495
  19.       Left            =   14280
  20.       TabIndex        =   13
  21.       Top             =   120
  22.       Width           =   855
  23.    End
  24.    Begin VB.CommandButton cmdSketch2 
  25.       Caption         =   "Auto Sketch 2"
  26.       Height          =   495
  27.       Left            =   10560
  28.       TabIndex        =   12
  29.       Top             =   120
  30.       Width           =   1215
  31.    End
  32.    Begin VB.CommandButton cmdOpen 
  33.       Caption         =   "Open"
  34.       Height          =   495
  35.       Left            =   2040
  36.       TabIndex        =   11
  37.       Top             =   120
  38.       Width           =   1815
  39.    End
  40.    Begin VB.HScrollBar hsDif 
  41.       Height          =   495
  42.       Left            =   3960
  43.       Max             =   125
  44.       Min             =   1
  45.       TabIndex        =   8
  46.       Top             =   120
  47.       Value           =   10
  48.       Width           =   1695
  49.    End
  50.    Begin VB.CommandButton cmdSketch 
  51.       Caption         =   "Auto Sketch 1"
  52.       Height          =   495
  53.       Left            =   8280
  54.       TabIndex        =   7
  55.       Top             =   120
  56.       Width           =   1215
  57.    End
  58.    Begin VB.CommandButton cmdCls 
  59.       Caption         =   "Clear"
  60.       Height          =   495
  61.       Left            =   13320
  62.       TabIndex        =   6
  63.       Top             =   120
  64.       Width           =   855
  65.    End
  66.    Begin MSComDlg.CommonDialog CommonDialog1 
  67.       Left            =   120
  68.       Top             =   5640
  69.       _ExtentX        =   847
  70.       _ExtentY        =   847
  71.       _Version        =   393216
  72.    End
  73.    Begin VB.CommandButton cmdSave 
  74.       Caption         =   "Save"
  75.       Height          =   495
  76.       Left            =   11880
  77.       TabIndex        =   5
  78.       Top             =   120
  79.       Width           =   1335
  80.    End
  81.    Begin VB.CommandButton cmdOpenFit 
  82.       Caption         =   "Open and Fit"
  83.       Height          =   495
  84.       Left            =   120
  85.       TabIndex        =   4
  86.       Top             =   120
  87.       Width           =   1815
  88.    End
  89.    Begin VB.PictureBox Picture2 
  90.       AutoRedraw      =   -1  'True
  91.       AutoSize        =   -1  'True
  92.       BackColor       =   &H80000009&
  93.       BorderStyle     =   0  'None
  94.       Height          =   1830
  95.       Left            =   7680
  96.       ScaleHeight     =   122
  97.       ScaleMode       =   3  'Pixel
  98.       ScaleWidth      =   100
  99.       TabIndex        =   1
  100.       Top             =   720
  101.       Width           =   1500
  102.    End
  103.    Begin VB.PictureBox Picture1 
  104.       AutoRedraw      =   -1  'True
  105.       BorderStyle     =   0  'None
  106.       Height          =   10215
  107.       Left            =   120
  108.       MouseIcon       =   "Form1.frx":0442
  109.       ScaleHeight     =   681
  110.       ScaleMode       =   3  'Pixel
  111.       ScaleWidth      =   493
  112.       TabIndex        =   0
  113.       Top             =   720
  114.       Width           =   7395
  115.    End
  116.    Begin VB.Label lblPercent 
  117.       Alignment       =   2  'Center
  118.       Caption         =   "%"
  119.       BeginProperty Font 
  120.          Name            =   "MS Sans Serif"
  121.          Size            =   13.5
  122.          Charset         =   178
  123.          Weight          =   400
  124.          Underline       =   0   'False
  125.          Italic          =   0   'False
  126.          Strikethrough   =   0   'False
  127.       EndProperty
  128.       Height          =   495
  129.       Left            =   9480
  130.       TabIndex        =   10
  131.       Top             =   240
  132.       Width           =   1095
  133.    End
  134.    Begin VB.Label lblDif 
  135.       Caption         =   "Dif=10"
  136.       BeginProperty Font 
  137.          Name            =   "MS Sans Serif"
  138.          Size            =   13.5
  139.          Charset         =   178
  140.          Weight          =   400
  141.          Underline       =   0   'False
  142.          Italic          =   0   'False
  143.          Strikethrough   =   0   'False
  144.       EndProperty
  145.       Height          =   375
  146.       Left            =   5760
  147.       TabIndex        =   9
  148.       Top             =   120
  149.       Width           =   1215
  150.    End
  151.    Begin VB.Label lblColor2 
  152.       BackColor       =   &H00000000&
  153.       BorderStyle     =   1  'Fixed Single
  154.       Height          =   495
  155.       Left            =   7680
  156.       TabIndex        =   3
  157.       Top             =   120
  158.       Width           =   495
  159.    End
  160.    Begin VB.Label lblColor1 
  161.       BorderStyle     =   1  'Fixed Single
  162.       Height          =   495
  163.       Left            =   6960
  164.       TabIndex        =   2
  165.       Top             =   120
  166.       Width           =   495
  167.    End
  168. End
  169. Attribute VB_Name = "Form1"
  170. Attribute VB_GlobalNameSpace = False
  171. Attribute VB_Creatable = False
  172. Attribute VB_PredeclaredId = True
  173. Attribute VB_Exposed = False
  174. Dim w0, h0, w, h As Single
  175.  
  176. Private Sub cmdCls_Click()
  177.   Picture2.Cls
  178.   Picture2.Picture = LoadPicture()
  179. End Sub
  180.  
  181. Private Sub cmdHelp_Click()
  182.   Form3.Show
  183. End Sub
  184.  
  185. Private Sub cmdOpen_Click()
  186.   CommonDialog1.CancelError = True
  187.   On Error GoTo ja
  188.   
  189.   CommonDialog1.Filter = "Image|*.bmp;*.gif;*.jpg"
  190.   CommonDialog1.ShowOpen
  191.   ' open picture in Picture2 and then fit itin Picture1!
  192.   Picture1.Picture = LoadPicture(CommonDialog1.FileName)
  193.   Picture2.Picture = LoadPicture(CommonDialog1.FileName)
  194.   
  195.   w0 = Picture2.Width
  196.   h0 = Picture2.Height
  197.   
  198.   w = 493
  199.   h = 681
  200.   
  201.   If w0 < w Then w = w0
  202.   If h0 < h Then h = h0
  203.   
  204.   Picture1.Width = w
  205.   Picture1.Height = h
  206.   
  207.   Picture2.Width = Picture1.Width
  208.   Picture2.Height = Picture1.Height
  209.   
  210.   'Picture1.Picture = LoadPicture()
  211.   'Picture1.PaintPicture Picture2.Picture, 0, 0, Picture1.Width, Picture1.Height, 0, 0, w0, h0, vbSrcCopy
  212.   Picture2.Picture = LoadPicture()
  213.   
  214. ja:
  215. End Sub
  216.  
  217. Private Sub cmdOpenFit_Click()
  218.   CommonDialog1.CancelError = True
  219.   On Error GoTo ja
  220.   
  221.   CommonDialog1.Filter = "Image|*.bmp;*.gif;*.jpg"
  222.   CommonDialog1.ShowOpen
  223.   ' open picture in Picture2 and then fit itin Picture1!
  224.   Picture1.Picture = LoadPicture(CommonDialog1.FileName)
  225.   Picture2.Picture = LoadPicture(CommonDialog1.FileName)
  226.   ' Fit
  227.   w0 = Picture2.Width
  228.   h0 = Picture2.Height
  229.   
  230.   w = 493
  231.   h = 681
  232.   
  233.   If w0 / h0 > w / h Then
  234.     ' resize based on width
  235.     Picture1.Width = w
  236.     Picture1.Height = w * h0 / w0
  237.     Else
  238.     ' resize based on height
  239.     Picture1.Height = h
  240.     Picture1.Width = h * w0 / h0
  241.   End If
  242.   Picture2.Width = Picture1.Width
  243.   Picture2.Height = Picture1.Height
  244.   
  245.   Picture1.Picture = LoadPicture()
  246.   Picture1.PaintPicture Picture2.Picture, 0, 0, Picture1.Width, Picture1.Height, 0, 0, w0, h0, vbSrcCopy
  247.   Picture2.Picture = LoadPicture()
  248.   
  249. ja:
  250. End Sub
  251.  
  252. Private Sub cmdSave_Click()
  253.   Dim FName As String
  254.   CommonDialog1.CancelError = True
  255.   On Error GoTo ja
  256.   CommonDialog1.Filter = "*.jpg"
  257.   CommonDialog1.ShowSave
  258.   FName = CommonDialog1.FileName
  259.   If Right$(FName, 4) <> ".jpg" Then FName = FName + ".jpg"
  260.   SavePicture Picture2.Image, FName
  261. ja:
  262. End Sub
  263.  
  264.  
  265. Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
  266.   If Button = vbRightButton Then
  267.     lblColor2.BackColor = Picture1.Point(x, y)
  268.   End If
  269. End Sub
  270.  
  271. Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
  272.   If x < 0 Or x >= Picture1.ScaleWidth Or y < 0 Or y >= Picture1.ScaleHeight Then Exit Sub
  273.   lblColor1.BackColor = Picture1.Point(x, y)
  274.   
  275.   If Button = vbLeftButton Then
  276.     Picture2.ForeColor = lblColor1.BackColor
  277.     Picture2.PSet (x, y)
  278.   End If
  279.  
  280. End Sub
  281.  
  282. Private Sub Picture2_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
  283.   If Button = vbLeftButton Then
  284.     Picture2.ForeColor = lblColor2.BackColor
  285.     Picture2.PSet (x, y)
  286.   End If
  287. End Sub
  288.  
  289. Private Function BW(c As Long) As Integer
  290. Dim R, G, B As Integer
  291.   R = c Mod 256
  292.   G = (c \ 256) Mod 256
  293.   B = (c \ 256 \ 256) Mod 256
  294.   BW = (R + G + B) / 3
  295. End Function
  296.  
  297. Private Sub cmdSketch_Click()
  298. Dim x, y As Integer
  299. Dim c1, c2 As Integer
  300. Dim total, done As Long
  301. Picture2.Cls
  302. total = Picture1.Width + Picture1.Height
  303. done = 0
  304. ' in Y direction :
  305. For x = 0 To Picture1.Width - 1
  306.   done = done + 1
  307.   lblPercent = Str$(Int(100 * done / total)) + "%"
  308.   DoEvents
  309.   For y = 0 To Picture1.Height - 2
  310.     c1 = (BW(Picture1.Point(x, y)))
  311.     c2 = (BW(Picture1.Point(x, y + 1)))
  312.     If Abs(c1 - c2) > hsDif.Value Then
  313.       Picture2.PSet (x, y), vbBlack
  314.     End If
  315.   Next y
  316. Next x
  317. ' in X direction :
  318. For y = 0 To Picture1.Height - 1
  319.   done = done + 1
  320.   lblPercent = Str$(Int(100 * done / total)) + "%"
  321.   DoEvents
  322.   For x = 0 To Picture1.Width - 2
  323.     c1 = (BW(Picture1.Point(x, y)))
  324.     c2 = (BW(Picture1.Point(x + 1, y)))
  325.     If Abs(c1 - c2) > hsDif.Value Then
  326.       Picture2.PSet (x, y), vbBlack
  327.     End If
  328.   Next x
  329. Next y
  330. lblPercent = "%"
  331. End Sub
  332. Private Sub cmdSketch2_Click()
  333. Dim x, y As Integer
  334. Dim c1, c2 As Integer
  335. Dim c As Long
  336. Dim total, done As Long
  337. Picture2.Cls
  338. total = Picture1.Width
  339. done = 0
  340. ' in Y direction :
  341. c = Picture1.Point(0, 0)
  342. For x = 0 To Picture1.Width - 1
  343.   done = done + 1
  344.   lblPercent = Str$(Int(100 * done / total)) + "%"
  345.   DoEvents
  346.   For y = 0 To Picture1.Height - 2
  347.     If BW(Picture1.Point(x, y)) > hsDif.Value Then
  348.       c = vbWhite
  349.       Else
  350.       c = vbBlack
  351.     End If
  352.     Picture2.PSet (x, y), c
  353.   Next y
  354. Next x
  355. ' in X direction :
  356. 'For y = 0 To Picture1.Height - 1
  357. '  c = Picture1.Point(0, y)
  358. '  done = done + 1
  359. '  lblPercent = Str$(Int(100 * done / total)) + "%"
  360. '  DoEvents
  361. '  For x = 0 To Picture1.Width - 2
  362. '    c1 = (BW(Picture1.Point(x, y)))
  363. '    c2 = (BW(Picture1.Point(x + 1, y)))
  364. '    If Abs(c1 - c2) > hsDif.Value Then
  365. '      c = Picture1.Point(x, y)
  366. '    End If
  367. '    Picture2.PSet (x, y), c
  368. '  Next x
  369. 'Next y
  370. lblPercent = "%"
  371. End Sub
  372.  
  373. Private Sub hsDif_Change()
  374.   lblDif = "Dif=" & Str$(hsDif.Value)
  375. End Sub
  376.  
  377.