วันศุกร์ที่ 27 กันยายน พ.ศ. 2556

การแยกชื่อไฟล์ ออกจาก Path ด้วย Access VBA

เมื่อมีการใช้ File Dialogue ให้ผู้ใช้เลือกไฟล์ในเครื่อง โดยให้แสดง File Dialog ดังภาพ

เมื่อผู้ใช้เลือกไฟล์ที่ต้องการและเราต้องการแยกชื่อไฟล์ออกจาก Path มีฟังก์ชั่น ที่ dzone.com สามารถนำไปใช้ได้ทันที ตามโค้ดตามโค้ดข้างล่างนี้

Function GetFilenameFromPath(ByVal strPath As String) As String  

If Right$(strPath, 1) <> "\" And Len(strPath) > 0 Then
GetFilenameFromPath = GetFilenameFromPath(Left$(strPath, Len(strPath) - 1)) + Right$(strPath, 1)    
End If
End Function

ตัวอย่างการใช้งาน (บรรทัดที่มีตัวหนังสือสีแดง)

Private Sub Command0_Click()
On Error GoTo ErrHandler 
    Dim f As Object
    Dim fileAddress As String
    Dim selectedFileName As String
     Set f = Application.FileDialog(3)
         f.AllowMultiSelect = False
         f.Title = "โปรดเลือกไฟล์ภาพโลโก้ของท่าน"
         f.Filters.Clear
         f.Filters.Add "JPG Files", "*.jpg"
         f.Filters.Add "PNG Files", "*.png"
         f.Filters.Add "GIF Files", "*.gif"
         f.Filters.Add "Bitmap Files", "*.bmp"
     If f.Show Then
        fileAddress = f.SelectedItems(1)
     End If
     Set f = Nothing
    selectedFileName = GetFilenameFromPath(fileAddress) 'แยกเฉพาะชื่อไฟล์
    targetFile = CurrentProject.Path & "\certPics\logoCust_" & selectedFileName
    FileCopy fileAddress, targetFile 
   MsgBox "คัดลอกไฟล์เรียบร้อยแล้ว", vbOKOnly
exitProc:
    Exit Sub  
ErrHandler:
    If Err = 75 Then
        MsgBox "ท่านยังไม่ได้เลือกไฟล์", vbOKOnly
    Else
        MsgBox Err & ": " & Err.Description
    End If    
    Resume exitProc  
End Sub



ที่มา

http://stackoverflow.com/questions/1743328/how-to-extract-file-name-from-path
http://dzone.com/snippets/get-just-file-name-full-path

วันพุธที่ 25 กันยายน พ.ศ. 2556

การสร้างหญ้า ด้วย Illustrator cs6

การสร้างหญ้า ตามภาพข้างล่าง ใช้ Symbol และใช้เครื่องมือของ Symbol นอกจากนี้ มีการใช้ Clipping Mask เพื่อตัดภาพ
วิธีการ
  1. ใช้ Pen Tool สร้างเส้นโค้ง
  2. เลือก Selection Tool (ลูกศรสีดำ) คลิกเลือกที่เส้น 
  3. กำหนดสี Fill เป็นไม่มีสี สีStroke สีเขียวอ่อน กำหนดขนาด Stroke เท่ากับ 10 และ Variable Width Profile เป็นรูปสามเหลี่ยม ดังภาพ 
     
  4. เปิดหน้าต่าง Symbols (ไปที่ Window > Symbols) และใช้ Black Arrow Tool ลากภาพที่สร้างขึ้นเข้าไปในหน้าต่าง Symbols เพื่อให้เป็นสัญลักษณ์
  5. จะมีหน้าหน้าจอให้ตั้งชื่อ Symbols ให้กด OK
  6. ในขณะที่ภาพกำลังถูกเลือก ให้กดปุ่ม Delete เพื่อลบภาพออกไป
  7. ในขณะที่ Symbol ที่สร้างขึ้นใหม่กำลังถูกเลือก ให้คลิกที่เครื่องมือ Symbol Sprayer Tool และระบายภาพต้นหญ้า
  8. ระบายหนา ๆ จนได้ต้นหญ้าหนาพอควร ดังภาพ
  9. ใช้ Symbol Scruncher Tool คลิกเพื่อทำให้ต้นหญ้าชิดกัน กดปุ่ม [ หรือ ] เพื่อปรับขนาดของ Tool ให้เล็ก หรือใหญ่ เพื่อให้ได้ภาพแบบสุ่ม
  10. ใช้ Symbol Shifter Tool ลากขึ้นเพื่อทำให้หญ้าแคบขึ้น หนาขึ้น ควรปรับขนาดของแปรงไปเรื่อย ๆ
  11. ใช้ Symbol Spinner Tool ทำให้หญ้าเปลี่ยนทิศทาง ไม่ให้เป็นระเบียบ ถ้าหมุนมากเกินไป ให้กด Ctrl + Z เพื่อยกเลิก และทำใหม่ ควรปรับขนาดของแปรงไปเรื่อย ๆ
  12. ปรับขนาดของต้นหญ้าให้มีขนาดต่าง ๆ กัน โดยใช้ Symbol Sizer Tool ถ้าต้นหญ้าไม่พอ ให้เพิ่มโดยใช้เครื่องมือ Symbol Sprayer Tool และ ปรับแต่งด้วย เครื่องมือในข้อ 9 และ 11
  13. เลือกชั้นหญ้า และ คัดลอก และวาง อีก 1 ชั้น
  14. เลือกหญ้าชั้นล่างสุด และ ทำการ Expand จำนวน 2 ครั้ง (Object > Expand) จะสังเกตเห็นมีเมนู Fill และ Stroke ปรากฏขึ้น
  15. กำหนดสี Fill เป็นสีเขียวเข้ม
  16. ปรับตำแหน่งของชั้นให้ซ้อนกันเล็กน้อย
  17. ใช้ Rectangle Tool สร้างสี่เหลี่ยม (ไม่มี Fill ส่วน Stroke เป็นสีดำ หนา 1 px) วาดสี่เหลี่ยมผืนผ้า คลุมบริเวณหญ้าที่ต้องการ
  18. เลือกทั้งหมด โดยกด Ctrl + A
  19. ไปที่ Object > Clipping Mask > Make จะได้ภาพหญ้าตามที่ต้องการ
  20. อาจจะเพิ่มชั้นหญ้าให้มากขึ้น เพิ่มสีต้นหญ้า หรือปรับเปลี่ยนเป็นสีเขียวเข้มอยู่ด้านหน้า จะทำให้ได้ภาพที่แปลกออกไป
 
 
ที่มา

การใช้ Envelope Distort ใน Illustrator cs6

Envelope Distort เป็นการปรับแต่งรูปทรงให้เป็นรูปต่าง ๆ เราจะใช้ในการสร้างภาพตะกร้าหกเหลี่ยม ต่อไปนี้
วิธีการ
  1. สร้าง Pattern รูปต่อไปนี้ ดูวิธีการสร้าง ที่นี่ 
  2. สร้างรูปหกเหลี่ยม ด้วย Polygon Tool ใช้ White Arrow Tool เลือกจุดด้านบน และด้านล่างทั้งสี่จุด (Shift click) และคลิกที่เครื่องมือ Scale Tool ลากย่อ เพื่อใช้เป็นด้านบนของตะกร้า ดังภาพ
  3. ใช้ Rectangle Tool สร้างสี่เหลี่ยมที่มีขนาดความยาวเท่ากับความกว้างของรูปหกเหลี่ยม
  4. แสดงบรรทัด (กด Ctrl+R) และลากเส้น Guide จากเส้นบรรทัดมาวางตรงเหลี่ยมของรูปหกเหลี่ยม
  5. ใช้ Pen Tool เพิ่มจุด Anchor Point ของด้านบนและด้านล่างรูปสี่เหลี่ยม ให้ตรงกับเหลี่ยมของรูปหกเหลี่ยม
  6. คัดลอกรูปสี่เหลียม เพื่อทำเป็นด้านหน้าของตะกร้า และด้านในของตะกร้า 
  7. นำเส้น Guide มาวางตามแนวนอนรูปหกเหลี่ยม ใช้ White Arrow Tool คลิกที่ด้านข้างของสี่เหลี่ยม รูปแรก และปรับให้เป็นรูป ดังภาพ
  8. ทำอีกด้านที่เหลือ และที่สี่เหลี่ยมรูปที่สอง ก็ทำเช่นเดียวกันแต่ลากมุมกลับลง จะได้ภาพใหม่ สองรูป ดังภาพ
  9. คัดลอกภาพด้านหน้าและด้านหลังของตะกร้าไว้ เพื่อจะนำไปทำเป็นเงา
  10. วาดรูปสี่เหลี่ยม เลือก Pattern ที่สร้างขึ้น และส่งไปด้านหลัง (Object > Arrange > Send to Back) และเลือกภาพนี้กับด้านหน้าของตะกร้า
  11. ไปที่ Object > Envelope Distort เลือก Make with Top Object
  12. ทำเช่นเดียวกับข้อ 9 - 10 กับชิ้นหลังของตะกร้า
  13. ภาพเงาด้านหน้าและด้นหลัง ให้ใช้ Gradient Tool จัดเงา ดังภาพ
  14. นำภาพด้านหลังไปวางกับภาพหกเหลี่ยม
  15. นำภาพเงาด้านหลังไปวางทับ และ คลิก Opacity บนเมนู และเลือก Multiply
  16. จะได้เงา ดังภาพ
  17. ทำเช่นเดียวกับข้อ 14-16 กับภาพด้านหน้าของตะกร้า (ถ้าภาพไปอยู่ด้านหลัง ให้ใช้ Object > Arrange > Send to Front เพื่อนำมาไว้ด้านหน้า)
  18. ถ้าต้องการปรับแต่งรูปทรงเพิ่มเติม สามารถใช้ White Arrow Tool ปรับตำแหน่งของจุดได้

วันอังคารที่ 24 กันยายน พ.ศ. 2556

การปรับลายพื้นตามรูปร่าง ด้วย Envelop Distort

ต้องการสร้างภาพนี้
จากภาพจะเห็นว่าภาพพื้น มีลักษณะเป็นลายเดียวกัน แต่มีการโค้งตามลักษณะของภาพ ในลักษณะเช่นนี้ เป็นการใช้พื้น (Pattern) เดียวกัน แต่มีการปรับแต่งให้เปลี่ยนตามรูปร่าง โดยใช้ Envelop Distort

Envelop Distort ใช้เพื่อปรับรูปร่างตามต้องการ เช่น ทำตัวหนังสือให้เป็นรูปร่างต่าง ๆ หรือปรับลายตามรูปทรง เป็นต้น

วิธีการ

  1. สร้างลายพื้น ดูวิธีการสร้างที่นี่
  2. วาดสี่เหลี่ยมผืนผ้า ด้วยเครื่องมือ Rectangle Tool และกำหนดลายพื้นที่้ต้องการ
  3. กำหนด Fill เป็นสีขาว Stroke เป็นสีดำ ขนาด 1 px
  4. วาดรูปสี่เหลี่ยม
  5. เลือกสี่เหลี่ยมทั้งสองรูป
  6. ไปที่ Object > Envelop Distort > Envelop Options และตั้งค่าให้มีการ Distort Pattern Fill
  7. ไปที่ Object > Envelop Distort > Make with Top Object
  8. จะได้ภาพสี่เหลี่ยมที่มีพื้นเหมือนเดิม แต่คราวนี้สามารถปรับรูปร่างให้เป็นไปตามกรอบสี่เหลี่ยมได้
  9. ใช้ Path Tool เพิ่มจุด 4 จุด ดังภาพ
  10. ใช้ White Arrow Tool ปรับจุดที่มุมทั้ง 4 และปรับแขนให้โค้งงอ
  11. ปรับเสร็จแล้ว จะได้ดังภาพ

การสร้างลายพื้น illustrator cs6

Illustrator CS6 มีลายพื้น หรือ Pattern มาให้จำนวนมาก เปิดดูได้จาก Swatches โดยคลิกที่มุมขวาด้านบนของ Swatch
จากนั้นจึงไปที่ Open Swatch Library > Pattens และเลือก หมวดหมู่ของ Pattern และ Pattern ที่ต้องการ
เมื่อเลือกแล้ว Pattern นั้นจะมาปรากฏใน Swatch สามารถนำไปใช้งานได้

การสร้างลายพื้น Pattern

ลายพื้น (Pattern) สามารถสร้างได้จากภาพที่นำเข้า หรือ สร้างเองแล้วกำหนดให้เป็นลายได้ ถ้าใช้ภาพ ควรใช้ Image Trace ให้เป็น Vector เสียก่อน เมื่อขยายเป็นภาพใหญ่ ภายจะชัดเจนไม่เบรอ

วิธีการ

  1. สร้างไฟล์ใหม่ กำหนด Fill เป็นสีเหลือง และ Stroke เป็นสีดำ ความหนา 1 px สร้างรูปสี่เหลี่ยมผืนผ้าสีเหลือง ขนาดความกว้าง 20 px สูง 5px
  2. ไปที่ Object > Pattern > Make
  3. Illustrator จะเข้าสู่หน้าจอการสร้าง Pattern สังเกตด้านบนจะมีเมนู Save a copy, Done และ Cancel
    • Save a copy ใช้เพื่อบันทึก Pattern ที่สร้างไว้ใน Swatch ถ้าไม่บันทึกไว้ เมื่อปิดไฟล์ Pattern จะหายไป
    • Done ใช้เมื่อแก้ไขปรับปรุง เรียบร้อยแล้ว
    • Cancel ต้องการยกเลิก
  4. การตั้งค่าลักษณะการเรียง (Tile Type)
    • Grid เป็นการจัดแบบตาราง
    • Brick by row เป็นการจัดเรียงแบบก้อนอิฐ
    • Brick by column จัดเรียงแบบอิฐเป็นแนวตั้ง
    • Hex by column จัดเรียงลักษณะ 6 เหลี่ยมตามแนวตั้ง
    • Size Tile to Art จะจัดตำแหน่งตามลักษณะที่มีการเปลี่ยนแปลงต้นฉบับ ในตัวอย่างจะเห็นว่า มีการเลือกแบบ Brick by row เลือก Size Tile to Art พร้อมทั้งใช้ Selection Tool คัดลอกและย้าย (กด Alt ค้างไว้) จะได้ภาพลักษณะใหม่ ตามตัวอย่าง
       
  5. เมื่อเสร็จแล้ว ให้กด Save a copy เพื่อบันทึกไว้ใน Swatch
  6. ตั้งชื่อลาย แล้วกด OK

  7. คลิก Done เพื่อออกจากการจัดทำ Pattern ลาย Pattern
  8. ถ้าต้องการบันทึกลายไว้ใน Swatch ให้บันทึก Swatch นี้ไว้ โดยไปที่มุมขวาด้านบนของ Swatch คลิก และเลือก Save Swatch as AI
  9. เมื่อต้องการนำมาใช้ ให้คลิกที่มุมขวาด้านบนของ Swatch และเลือก Open Swatch Library > User Defined จะเห็นชื่อ  Swatch ที่เคยสร้างไว้ทั้งหมด ซึ่งจะสามารถเลือกได้ตามต้องการ