บทความ

การส่งออกบางส่วนของภาพ ใน illustrator cs6

รูปภาพ
สมมุติว่า เราทำ Logo หลายชิ้น ใน Adobe Illustrator CS6 และต้องการบันทึกออกเป็นไฟล์ PDF หรือไฟล์นามสกุลอื่น หรือ ต้องการส่งออกไปยังโปรแกรม Photoshop แต่ต้องการส่งออกเฉพาะบาง Logo เท่านั้น จะทำอย่างไร ในภาพ ต้องการส่งออก หรือบันทึกเป็นไฟล์เฉพาะโลโก้ด้านซ้ายมือ ที่มีกรอบเป็นสีเหลือบเท่านั้น จะทำอย่างไรดี มีวิธีหลายวิธี แต่วิธีที่ง่ายที่สุดคือการจัด Artboard ให้คลุมเฉพาะโลโก้ที่ต้องการ แล้วจึงส่งออก หรือบันทึกเป็นไฟล์อื่น ๆ ตามต้องการ วิธีการ คลิกเลือกเฉพาะโลโก้ที่ต้องการส่งออก โดยใช้ Selection Tool ลากให้คลุม Artwork ที่ต้องการ จะได้ดังภาพ ไปที่ Object > Artboards > Fit to Selected Art Artboard จะย่อขนาดลงเท่ากับโลโก้ที่เลือกเอาไว้แล้ว ไปที่เมนู File > Save As... หรือ File > Export... Save As เพื่อบันทึกเป็นไฟล์ของ illustrator หรือ PDF หรือ อื่น ๆ  Export เพื่อส่งไปยัง Photoshop หรือ Flash หรือส่งออกเป็นภาพ BMP, JPG, WMF สำหรับ Windows Media หรือ เป็นไฟล์นามสกุลอื่น ๆ ภาพต้วอย่างส่งออกเป็น PDF ส่วนวิธีอื่น ๆ เช่น เลือก Artwork ทั้งหมด แล้ว Sh

การบันทึกอีแมล์ Gmail เป็นไฟล์ PDF

รูปภาพ
มีบางโอกาสที่เราจำเป็นต้องส่งไฟล์อีเมล เป็นไฟล์แนบกับจดหมายอีเมล ทำให้เราจำเป็นต้องบันทึกจดหมายอีเมลเป็นไฟล์ PDF เพื่อแนบจดหมายอีเมลอีกทีหนึ่ง ในที่นี้ จะใช้กับ Gmail เท่านั้น ส่วน อีเมลอื่น ๆ มีวิธีการที่แตกต่างกันไป วิธีการ เข้าไปที่กล่องจดหมาย และเปิดจดหมายที่ต้องการบันทึกเป็นไฟล์ PDF คลิกปุ่ม เพิ่มเติม ซึ่งเป็นปุ่มสามเหลี่ยมชี้ลง ข้าง ๆ ลูกศรตอบกลับ เลือก พิมพ์ จะเกิดหน้าจอให้ตั้งค่า พร้อมทั้งนำจดหมายอีเมลที่จะบันทึกเป็นไฟล์ PDF มาแสดงให้ดูด้วย  เสร็จแล้วกดปุ่ม บันทึก ระบุที่เก็บไฟล์ เพื่อจะได้นำไปเป็นไฟล์แนบ ต่อไป

onSaveInstanceState()

รูปภาพ
การพัฒนา Application สำหรับ Android phone มีประเด็นที่จะต้องจัดการด้วยตัวเองอย่างหนึ่งคือ เวลาผู้ใช้งานเปลียนมือถือ จากแนวตั้งเป็นแนวนอน โปรแกรมจะปรับสภาพไปสู่สภาพเดิม เหมือนเมื่อเริ่มต้นเข้ามาที่หน้าจอใหม่ ๆ ที่เป็นเช่นนี้ เพราะ Android Studio ต้องการปรับสภาพให้เข้ากับสภาวะใหม่ ดังนั้น เราจึงต้องจัดการ บันทึกสภาพปัจจุบันของหน้าจอเอาไว้ และเมื่อมีการปรับเปลี่ยนสภาพใหม่ ก็ให้ตรวจสอบข้อมูลเดิมพร้อมทั้งบันทึกเอาไว้ และนำกลับมาใช้ให้เหมือนเดิม มิฉะนั้นผู้ใช้อาจจะงงว่า ทำไมข้อมูลหน้าจอจึงเปลี่ยนไป ยกตัวอย่างเช่น ผู้ใช้กำลังทำข้อสอบถึงข้อที่ 5 บังเอิญว่า อยากจะอ่านข้อความตามแนวนอน จึงหมุนหน้าจอ จากแนวตั้งมาดูตามแนวนอน แต่ผลปรากฏว่า ข้อสอบจากข้อที่ 5 กลับมาเป็นข้อ 1 ที่เป็นเช่นนี้เพราะ เมื่อมีการเปลี่ยนแนว หรือ Orientation ของมือถือ วงจรชีวิตของหน้าจอนั้น ๆ จะยุติลง และเริ่มต้นใหม่ โดยใช้ค่าเริ่มต้นที่มีอยู่ ดังนั้นจึงกลับไปสู่สภาพเดิม การจัดเก็บสภาพของหน้าจอ ด้วย onSaveInstanceState() ในกรณีตัวอย่างข้อสอบข้างต้น มีการกำหนดตัวแปรคือ thisQuestionNum เพื่อเก็บหมายเลขข้อของข้อสอบ เ

การสร้าง DialogFragment ใน Android Studio

รูปภาพ
การสร้าง Dialog เพื่อแสดงข้อความแจ้งเตือน หรือให้ข่าวสารแก่ผู้ใช้งานมือถือ Android โดยใช้  Android Studio ทำได้หลายอย่าง แต่วันนี้ จะพูดถึงการใช้ Fragment สำหรับสร้าง Dialog ซึ่งมีข้อดี คือ สามารถจัดการรูปแบบได้เองสะดวกดี เพราะใช้ Layout ที่สร้างเอง จึงนำเอาภาพ ข้อความมาจัดเรียงได้ ในตัวอย่างนี้ จะสร้าง DialogFragment โดยให้คลิกจากเมนูใน OverFlow Menu แล้วมาที่ Dialog ที่สร้างขึ้น โดยใช้ Android Studio 1.5.1 ภาพหน้าจอ DialogFragment ที่จะสร้าง ในครั้งนี้ ขั้นตอนการสร้าง สร้าง Project ใหม่ สร้าง Layout ที่ต้องการให้แสดงเป็น Dialog สร้าง Java Class สำหรับ DialogFragment เรียกใช้งาน ที่ OverFlow menu สร้าง Project ใหม่ สร้าง Project ใหม่ ตั้งชื่อตามต้องการ กำหนด API 11 และ Blank Activity สร้าง Layout สำหรับให้แสดงเป็น Dialog นำภาพไปใส่ไว้ในห้อง Drawable โดยใช้วิธี Copy แล้ว Paste ใน Android Studio สร้าง Layout โดยคลิกขวาที่ layout เลือก New > Layout Resource File ตั้งชื่อว่า df_demo   นำ ImageView  TextView และปุ่ม พร้อมทั้งนำภาพและข้อความมาวางบน Layout

การสร้างปุ่มแชร์ บนมือถือ Android ด้วย ShareActionProvider

รูปภาพ
ShareActionProvider extends มาจาก Action Provider Class ซึ่งเริ่มจาก Android 4.0 (API 11) ซึ่งเป็นตัวจัดการเรียกแอป social media เพื่อแชร์ข้อมูลไปยังเพื่อน ๆ หรือ กลุ่มเพื่อน โดยเรียกใช้ โซเชียลแอปที่มีในมือถือนั้น ๆ เช่น Line Facebook Email Messenger เป็นต้น แล้วแต่ว่า ในมือถือนั้น ๆ จะติดตั้งแอป อะไรไว้บ้าง ShareActionProvider ก็จะนำมาให้เลือก และจัดการให้ทั้งหมด ดังภาพ ( ภาพที่ 1 แสดงไอคอนแชร์ ภาพที่ 2 เมื่อกดปุ่มแชร์ และภาพที่ 3 เมื่อกดปุ่มอีเมล) ปัญหาคือ แล้วจะเรียกใช้อย่างไร ปัญหามักจะอยู่ที่การเชื่อมโยงระหว่าง ShareActionProvider กับ menu itemในไฟล์ menu.xml เช่น บอกให้ไปใช้ MenuItemCompat หรือ มีปัญหาการ cast บอกว่า ไม่สามารถ cast จาก ActionProvider ไปยัง ShareActionProvider เป็นต้น  ในตัวอย่างนี้ ใช้ Android Studio 1.5 และใช้ App Bar ไม่ใช้ Action Bar  หลักการในการเรียกใช้งาน ShareActionProvider กำหนด Style ให้ไม่ใช้ Action Bar และเรียกใช้ใน theme ให้สอดคล้องกัน สร้าง menu item ใน menu.xml โดยไม่ต้องระบุไอคอน เพราะ ShareActionProvider จัดการให้เรียบร้อย แ

การสร้างปุ่มกลับ บน Toobar ของ Android Studio

รูปภาพ
Android Studio API 21 ได้นำ Toolbar มาใช้แทน ActionBar โดยมีคุณสมบัติเพิ่มขึ้นมาก ในตัวอย่างต่อไปนี้ จะเป็นการสร้างปุ่มกลับเมนู บน Toolbar ดังภาพ ปุ่มกลับเมนู ไม่ใช่ปุ่มกลับหน้าที่ผ่านมา แต่เป็นปุ่มกลับเมนูที่คลิกมาหน้าปัจจุบัน หรือ เมนูที่อยู่เหนืออีกชั้นหนึ่ง รายละเอียดดูที่  http://developer.android.com/design/patterns/navigation.html ข้อดีของ Android Studio ที่ผมชอบ คือ เขามีการเขียนโค้ดเตรียมไว้ให้พร้อม เราเพียงแต่ให้รู้ว่า จะเพิ่มเติมอะไร อย่างไร นอกจากนี้ ยังมี  code hint ทำให้ทุ่นเวลาการเขียน พร้อมทั้งตรวจสอบความถูกต้องไปในตัว รุ่นที่ใช้อยู่นี้ คือ Android Studio 1.5 การสร้างปุ่มกลับ เริ่มจากสร้าง Project ใหม่ เลือก API 11 และ Blank Project เมื่อเปิดเข้ามา จะเห็นว่า Android Studio 1.5 สร้าง Toolbar ว่าง ๆ ไว้ให้แล้ว พร้อมกับสร้าง menu_main.xml ไว้ให้ด้วย เพื่อให้ตกแต่งเพิ่มเติม เช่น ใส่ปุ่มกลับ เพิ่มชื่อของ Activity เพิ่ม Overflow menu เป็นต้น ปุ่มกลับต้องมี 2 หน้า ดังนั้นต้องสร้างหน้าใหม่ หรือ Activity ใหม่ โดยไปที่  Java > [PackageName] คลิกขวา และเล

การทำภาพให้คมชัดขึ้น ด้วย Photoshop CS5

รูปภาพ
เดี๋ยวนี้การตกแต่งภาพทำได้หลายอย่าง ยิ่งถ้าถ่ายจากโทรศัพท์มือถือ ยิ่งทำได้ง่ายมาก เพราะมี App ถ่ายภาพที่มาพร้อมกับฟิลเตอร์สำหรับตกแต่งภาพได้หลายอย่าง เช่น  Camera 360 Ultimate กล้องที่มากับโทรศัพท์ของ Samsung ก็มี Filter ให้แต่งภาพสวย ๆ ได้หลายแบบ อย่างไรก็ตาม กล้องดิจิตอลแบบเก่าก็ยังใช้งานได้ดี โดยเฉพาะการถ่ายภาพในระยะใกล้ ซึ่งกล้องมือถือยังทำได้ไม่ดีเท่ากับกล้องดิจิตอล เพราะกล้องมือถือใช้การ Zoom แบบ    digital zooming แต่กล้องดิจิตอล ใช้เล็นซ์ในการซูมภาพ ซึ่งให้ภาพที่มีคุณภาพดีกว่า ภาพที่ถ่ายจากกล้องบางครั้งอาจจะไม่คมชัด สามารถทำให้คมชัดขึ้นได้อย่างง่าย ๆ ด้วยโปรแกรม Photoshop เทคนิคการทำภาพให้คมชัดขึ้น เปิดโปรแกรม Photoshop และเปิดภาพที่ต้องการ คลิกขวาที่ Layers (ถ้าไม่เห็น Layers ให้ไปที่ Window > Layers หรือ กด F7) และเลือก Duplicate เพื่อคัดลอกเป็นอีกขั้นหนึ่ง คลิกเลือกชั้นใหม่ที่เกิดขึ้น (ถ้าชั้นใหม่ถูกล็อคอยู่ให้คลิกลูกกุญแจเพื่อเอาล็อคออกก่อน) ไปที่ Filter > Other > High Pass... ปรับ Slide เพื่อกำหนดค่า ถ้าต้องการให้คมชัดมาก ให้ตั้งค่าสูง ๆ คลิก

มะรุม Moringa

รูปภาพ
วันนี้ฟังวิทยุรายการ Gary Null Show วันที่ 10.28.15 พูดถึงใบ Moringa สงสัยว่ามันใบอะไรของมัน ถึงได้มีคุณสมบัติเยอะแยะมากมายมหาศาล แถมมีแหล่งกำเนิดแถว ๆ ภูเขาหิมาลัย ประเทศอินเดียอีกต่างหาก หาความหมายดูจึงเห็นว่าเป็นใบ มะรุม นั่นเอง Gary Null บอกว่ามะรุม มีคุณสมบัติ ยับยั้งการเจริญของเนื้องอก (anti-tumors) แก้อักเสบ (anti-inflammatory)  ต้านแผลในกระเพาะอาหาร (anti-ulcer)  คลายกล้ามเนื้อเกร็ง (antispasmodic)  ต้านความดันโลหิตสูง (anti-hypertensive)  ป้องกัน/บรรเทาโรคเบาหวาน (anti-diabetic)  ต้านเชื้อแบคทีเรีย (anti-bacterial)   และต้านเชื้อรา (anti-fungal) ในใบมะรุม 1 ถ้วย(serving) มีสารอาหารที่มีประโยชน์ ถึง 92 ชนิด เช่น กรดอะมิโน วิตามินซี วิตามินบี 6 โปแตสเซี่ยม แมกนีเซียม เหล็ก แคลเซี่ยม และวิตามินเอ โดยที่สารอาหารแต่ละชนิดมีปริมาณจำนวนมาก เช่น มีวิตามินเอ ถึง 272 % ของจำนวนที่ต้องการในแต่ละวัน  มีแคลเซี่ยม จำนวน 175 % ของจำนวนที่ต้องการในแต่ละวัน Gary Null บอกว่า มีประโยชน์มากสำหรับผู้ที่เป็นโรคโลหิตจาง (anemia) ปวดข้อ ข้ออักเสบ (arthritis และ joint-pain) หืดหอบ (asthma) โรครู

การแก้ปัญหา #N/A ของสูตร vlookup

รูปภาพ
สูตร vlookup() มีรูปแบบการใช้ ดังนี้ VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) lookup_value คือ ข้อมูลที่ต้องการให้ค้นหา table_array คือ ตารางข้อมูลที่ไปทำการค้นหา col_index_num คือ ตำแหน่งคอลัมน์ในตารางข้อมูลที่ต้องการให้นำมาแสดงเมื่อพบข้อมูลที่ค้นหาแล้ว ตำแหน่งคอลัมน์แรก คือ 1 range_lookup คือ ลักษณะการค้น      ถ้าต้องการให้ค้นคำที่เหมือนกับคำค้นทุกประการ ให้กำหนดเป็น False หรือ 0      ถ้าให้ค้นแบบใกล้เคียง ให้กำหนดเป็น True หรือ 1 และต้องเรียงข้อมูลในตารางจากน้อยไปหามาก      ถ้าไม่ระบุ Excel จะใช้ถือว่าเป็น true สูตร vlookup() ของ Excel เป็นสูตรที่มีประโยชน์ แต่ก็มีข้อที่ต้องระวังหลายอย่างเหมือนกัน มิฉะนั้น จะไม่แสดงค่าตามที่ต้องการ เช่น อาจจะแสดงค่า  #N/A เป็นต้น ดูตัวอย่างข้างล่างนี้ ท่านทราบหรือไม่ว่า ทำไมสูตร vlookup() จึงไม่แสดงชื่อที่ต้องการ ถ้าพิจารณาจากสูตรที่ใช้  จะเห็นว่า เป็นการค้นหาแบบ exact match คือ เหมือนคำค้นที่ต้องการ คือ ให้แสดงชื่อคนในตาราง D26:J36 ที่ได้คะแนน 73.00 แต่ผลปรากฎว่า ได้ #N/A แทน นี่เป็นข้อจำกัดห