วันพุธที่ 16 มิถุนายน พ.ศ. 2553

การแต่งภาพด้วย Photoshop cs 5

1. การสร้างจุดเด่นรูปภาพ
1 เลือกรูปภาพที่ต้องการ
2 แล้วกด Ctrl + J เพื่อ Copy Layer แล้วรูปภาพก็จะเพิ่มขึ้นมาเป็น 2 Layer
3 ดับเบิ้ลคลิกเพื่อปลดล็อกที่ Background
4 ไปที่แถบเมนู Image ---> Adjutments ---> Desaturate
5 แล้วไปที่เครื่องมือ Magnetic Lasso Tool เลือกส่วนที่อยากให้เป็นจุดเด่น
6 จากนั้นก็ไปที่ Layer Copy แล้วคลิก Delete แล้วเราก็จะได้ภาพที่เป็นจุดเด่น

2. Content-Aware
1 เลือกรูปภาพที่ต้องการ
2 ไปที่แถบเครื่องมือ Polygonal Lasso Tool แล้วคลิกลากรอบส่วนที่ไม่ต้องการออก
3 ไปที่แถบเมนู Edit ---> Fill ---> Content-Aware เลือก Opacity ตามที่ต้องการ แล้วเราก็จะได้ภาพที่เราต้องการ

3. การตัดส่วนเกินของรูป
1 เลือกรูปภาพที่ต้องการ
2 แล้วไปที่แถบเมนู Filter ---> Liquify แล้วคลิกที่ Show Mesh
3 จากนั้นก็ไปที่เครื่องมือ Forward Warp ดึงให้ส่วนที่ต้องการให้หายไปเข้าที่ เมื่อได้ตามที่ต้องแล้ว เราก็จะได้ภาพตามต้องการ

4. การทำภาพลายเส้น
1 เลือกรูปภาพที่ต้องการ
2 แล้วนั้นกด Ctrl + J เพื่อ Copy Layer แล้วก็จะได้เป็น 2 Layer
3 แล้วไปที่แถบเมนู Image ---> Adjutments ---> Invert
4 ไปที่เครื่องมือด้านขวา ตรงคำว่า Normal แล้วเปลี่ยนเป็น Color Dodge
5 แล้วไปที่แถบเมนู Filter ---> Blur ---> Gaussian Blur ให้ปรับข้างล่างเป็น 2 แล้ว กดOK
6 จากนั้นกด Ctrl + Shift + Alt + E (เพื่อรวมเลเยอร์ หรือกด Ctrl E)
7 จากนั้นไปที่แถบเครื่องมือ Image ---> Adjutments ---> Theshold แล้วปรับเป็น 240
ก็เป็นอันเสร็จสิ้น

5. การทำ HDR Toning
1 เลือกรูปภาพที่ต้องการ
2 ไปที่แถบเครื่องมือ Image ---> Adjutments ---> HDR Toning แล้วปรับตั้งค่าตามที่เรา ต้องการ จากนั้นก็กด OK แล้วก็เป็นอันเสร็จ

6. การทำภาพให้เป็นภาพหลอก
1 เลือกรูปภาพที่ต้องการ
2 จากนั้น กด Ctrl + J เพื่อ Copy Layer ก็จะได้ Layer เพิ่มขึ้นมาอีกเป็น 2 Layer
3 แล้วไปที่แถบเครื่องมือ Image ---> Mode ---> Lab Color จากนั้นให้เลือก
Don’t Flatten
4 แล้วไปที่แถบเครื่องมือทางด้านขวา คลิกคำว่า CHANNELS
5 แล้วไปที่แถบเมนู Image ---> Adjutments ---> Curves แล้วปรับแสงตามที่เราต้องการแล้วก็ กด OK ก็เป็นอันเสร็จ

7. การทำบาโค๊ด
1 ไปที่ File ---> New กำหนดความกว้างเป็น 150 แล้วกำหนดความสูงเป็น 60 แล้วเลือก
เป็น Transparent
2 แล้วให้เทสีขาวบน Layer
3 จากนั้นไปที่แถบเมนู Filter ---> Noise ---> Add Noise แล้วเปลี่ยนเป็น 400 แล้วไปคลิกที่ Monochromatic แล้วกด OK
4 แล้วไปที่แถบเมนู Filter ---> Blur ---> Motion Blur กำหนดด้านบนเป็น 90 และกำหนดด้านล่างเป็น 999
5 จากนั้นไปที่แถบเมนู Filter ---> Sharpen ---> Sharpen Edges
6 แล้วเพิ่ม Layer ด้านล่าง
7 แล้วไปที่แถบเครื่องมือ Rectangular Marquee Tool แล้วนำมาคลอบให้เป็นสี่เหลี่ยมข้างล่างขนาดตามต้องการ แล้วก็เทสีขาวลงไป
8 จากนั้นไปเลือกที่แถบเครื่องมือ Horizontal Type Tool แล้วพิมพ์ตัวเลขใส่ตรงช่องสีขาวก็เป็นอันเสร็จ

8. การทำตาให้โตและใส่ขนตา
1 เลือกรูปภาพที่ต้องการ
2 แล้วไปที่แถบเครื่องมือ Brush ---> Load Brush เพื่อทำการโหลด Brush ขนตา
3 จากนั้นไปที่แถบเมนู Filter ---> Liquify
4 แล้วไปที่แถบเครื่องมือด้านขวา คลิกเครื่องมือ Bloat Tool แล้วนำไปวางที่ลูกตา มันจะทำให้ตาดูโตขึ้นมากกว่าเดิม แล้วก็ กด OK
5 แล้วไปที่แถบเครื่องมือ Brush เลือกขนตาที่ต้องการใช้ แล้วก่อนที่จะใส่ขนตาต้องเพิ่ม Layer ก่อนทุกครั้ง ถ้าจะทำอีกข้าง ก็เพิ่ม Layer ขึ้นมาอีก แล้วจึงใส่ขนตา
6 ส่วนการทำตาให้ดำ ให้ไปที่แถบเครื่องมือ Brush Tool แล้วเลือกแบบวงกลมสีดำแล้ววางที่ลูกตา ก็จะทำให้ลูกตาเป็นสีดำและโต แล้วเราก็จะได้หน้าตาที่ดูดีขึ้นกว่าเดิม


วันอังคารที่ 8 มิถุนายน พ.ศ. 2553

การทำภาพแบบกระเบื้อง

1) ไปที่ Layer Pallet เลือกตรง Background Layer แล้วกด Ctrl + J เพื่อทำสำเนาเพิ่มอีกภาพ


2) ทำการเปลี่ยน mode เป็น Overlay
3) ไปที่ Filter> Pixelate> Mosaic




4) กำหนดค่า Cell Size ให้ใหญ่ตามที่ต้องการ เมื่อได้ขนาดที่ต้องการก็กด OK

5) ภาพที่ออกมาจะเป็นแบบนี้



6) ไปที่ Layer Pallet เลือกตรง Layer 1 แล้วกด Ctrl + J เพื่อ Copy ขึ้นมาอีกภาพ

7) เมื่อ Copy แล้วทำการเปลี่ยน mode เป็น Multiply และ Opacity เป็น 75 % 8) ไปที่ Filter---> Stylize---> Find Edges เพื่อทำการสร้างขอบกระเบื้อง เลือก Find Edges นี้มากกว่าหนึ่งครั้งก็ได้ ขึ้นอยู่กับว่าต้องการให้ขอบของกระเบื้องมันเข้มมากน้อยเท่าไร





9) ผลลัพธ์ที่ได้ ภาพจะเห็นเป็นรอยกระเบื้องชัดขึ้น

10) ไปที่ Filter> Blur> Gaussian Blur




11) ปรับค่า Radius ตามใจเรา สำหรับในตัวอย่างนี้ 2 pixel แล้วกด OK

12) เมื่อทำตามขั้นตอนข้างบนแล้วภาพก็จะออกมาประมาณนี้จ้า




















































































































วันจันทร์ที่ 18 มกราคม พ.ศ. 2553

ยากมากมาย (เจ้าค่า)

เป็นอะที่ไม่ค่อยเข้าใจ

ไม่รู้มันเป็นแบบไหน

ไม่รู้ว่าใครนำมันเข้ามา

วันพุธที่ 13 มกราคม พ.ศ. 2553

โค้ดสำหรับสร้างตารางสอบอย่างง่าย (เจ้าค้า)

if (!isset($_POST['regist'])) {
echo "ระบบจัดตารางสอบอย่างง่าย ของนักเรียน 3 คนที่ลงทะเบียนคนละ 3 วิชา";
echo "
";
echo "
";
echo "
";
exit;
}
// แสดงข้อมูลที่รับมาจาก form
echo "
แสดงรายวิชาที่นักเรียนแต่ละคนลงทะเบียนเรียน \n";

$student = split("\n",$_POST['regist']);
foreach($student as $one) {
$subj = split(",",$one);
for($i=0;$i}
// นำข้อมูลแต่ละคน มาแยกเก็บแยกวิชา เช่น a,1,2 ลงตัวแปร $s เพื่อใช้ในการจัดตารางสอบ
foreach($student as $one) {
$subj = split(",",$one);
for($i=1;$i if (!isset($s[$subj[$i]])) $s[$subj[$i]] = $subj[$i] . ",";
$s[$subj[$i]] = $s[$subj[$i]] . $subj[0] . ",";
}
}
// อ่าน $s มาจัดลงตัวแปร $sub เพื่อใช้อ้างวิชาที่ได้ เช่น $sub[0] หมายถึงวิชา "A"
echo "
แสดงชื่อนักเรียนที่ลงทะเบียนในแต่ละวิชา";
$i = 0;
foreach($s as $sepsubj) {
$sepagain = split(",",$sepsubj);
$sub[$i] = $sepagain[0];
$i = $i + 1;
echo $sepsubj . "\n"; // $sepsubj เก็บรหัสนักศึกษาในแต่ละวิชา
}
// จัดกลุ่มตามวัน โดยใช้ while ซ้อน for และตรวจสอบความซ้ำซ้อน
$end = 0;
$i = 0;
while ($end == 0) {
$outday = 0;
for($j=0;$j if (strlen($s[$sub[$j]]) > 2 && $outday == 0) {
$day[$i] = $sub[$j].",";
$base = $s[$sub[$j]];
$s[$sub[$j]] = "";
$outday = 1;
}
}
for($j=1;$j $sbase = $s[$sub[$j]];
$ssubj = split(",",$sbase);
$found = 0;
for($k=1;$k if (stristr($base,$ssubj[$k])) $found = 1;
}
if ($found == 0 && count($ssubj) > 1) {
$s[$sub[$j]] = "";
$day[$i] = $day[$i] . $sub[$j] . ",";
}
}
$i++;
$end = 1;
foreach ($s as $checksubj) {
if (strlen($checksubj) > 2 ) $end = 0;
}
}
echo "
";
// แสดงผลการจัดตารางแล้ว
for($i=0;$i echo "ชั่วโมงที่ ";
echo $i + 1;
echo " สอบวิชา " . $day[$i] . "\n";
}
?>

ผลลัพธ์โค้ด


วันจันทร์ที่ 2 พฤศจิกายน พ.ศ. 2552

คำศัพท์ชนิดการเก็บงาน

VARCHAR (ย่อมาจาก Variable Character Field อ่านว่า วาร์คาร์ หรือ วาร์ชาร์) หมายถึงกลุ่มข้อมูลตัวอักขระที่ไม่สามารถระบุความยาวได้ คำนี้มักใช้เป็นชนิดข้อมูลในระบบจัดการฐานข้อมูล ชนิดข้อมูลประเภท varchar สามารถเก็บข้อมูลตัวอักขระขนาดเท่าใดก็ได้ที่ไม่เกินความยาวที่จำกัดไว้ การจำกัดความยาวก็แตกต่างกันออกไปในแต่ละฐานข้อมูล
TINYINT : สำหรับเก็บข้อมูลชนิดตัวเลขที่มีขนาด 8 บิต ข้อมูลประเภทนี้เราสามารถกำหนดเพิ่มเติมในส่วนของ "แอตทริบิวต์" ได้ว่าจะเลือกเป็น
TEXT : สำหรับเก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINYTEXT แต่สามารถเก็บได้มากขึ้น โดยสูงสุดคือ 65,535 ตัวอักษร หรือ 64KB เหมาะสำหรับเก็บข้อมูลพวกเนื้อหาต่างๆ ที่ยาวๆ
DATE : สำหรับเก็บข้อมูลประเภทวันที่ โดยเก็บได้จาก 1 มกราคม ค.ศ. 1000 ถึง 31 ธันวาคม ค.ศ. 9999 โดยจะแสดงผลในรูปแบบ YYYY-MM-DD
SMALLINT : สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 16 บิต จึงสามารถเก็บค่าได้ตั้งแต่ -32768 ถึง 32767 (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง 65535 (ในกรณี UNSIGNED หรือไม่คิดเครื่องหมาย) ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZEROFILL ได้เช่นเดียวกับ TINYINT
MEDIUMINT : สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 24 บิต นั่นก็หมายความว่าสามารถเก็บข้อมูลตัวเลขได้ตั้งแต่ -8388608 ไปจนถึง 8388607 (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง 16777215 (ในกรณีที่เป็น UNSIGNED หรือไม่คิดเครื่องหมาย) ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZEROFILL ได้เช่นเดียวกับ TINYINT
INT : สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 32 บิต หรือสามารถเก็บข้อมูลได้ตั้งแต่ -2147483648 ไปจนถึง 2147483647 ครับ (ในกรณีแบบคิดเครื่องหมาย) หรือ 0 ถึง 4294967295 (ในกรณีที่เป็น UNSIGNED หรือไม่คิดเครื่องหมาย) ซึ่งสามารถเลือก Attribute เป็น UNSIGNED และ UNSIGNED ZEROFILL ได้เช่นเดียวกับ TINYINT
BIGINT : สำหรับเก็บข้อมูลประเภทตัวเลขที่มีขนาด 64 บิต สามารถเก็บข้อมูลได้ตั้งแต่ -9223372036854775808 ไปจนถึง 9223372036854775807 เลยทีเดียว (แบบคิดเครื่องหมาย)
FLOAT[(M,D)] : ที่กล่าวถึงไปทั้งหมด ในตระกูล INT นั้นจะเป็นเลขจำนวนเต็ม หากเราบันทึกข้อมูลที่มีเศษทศนิยม มันจะถูกปัดทันที ดังนั้นหากต้องการจะเก็บค่าที่เป็นเลขทศนิยม ต้องเลือกชนิดขอฟิลด์เป็น FLOAT โดยจะเก็บข้อมูลแบบ 32 บิต
DOUBLE[(M,D)] : สำหรับเก็บข้อมูลประเภทตัวเลขทศนิยม เช่นเดียวกับ FLOAT แต่มีขนาดเป็น 64 บิต สามารถเก็บได้ตั้งแต่ -1.7976931348623157E+308 ถึง -2.2250738585072014E-308, 0 และ 2.2250738585072014E-308 ถึง 1.7976931348623157E+308
DECIMAL[(M,D)] : สำหรับเก็บข้อมูลประเภทตัวเลขทศนิยม เช่นเดียวกับ FLOAT แต่ใช้กับข้อมูลที่ต้องการความละเอียดและถูกต้องของข้อมูลสูง
DATETIME : สำหรับเก็บข้อมูลประเภทวันที่ และเวลา โดยจะเก็บได้ตั้งแต่ 1 มกราคม ค.ศ. 1000 เวลา 00:00:00 ไปจนถึง 31 ธันวาคม ค.ศ. 9999 เวลา 23:59:59 โดยรูปแบบการแสดงผล เวลาที่ทำการสืบค้น (query) ออกมา จะเป็น YYYY-MM-DD HH:MM:SS
TIMESTAMP[(M)] : สำหรับเก็บข้อมูลประเภทวันที่ และเวลาเช่นกัน แต่จะเก็บในรูปแบบของ YYYYMMDDHHMMSS หรือ YYMMDDHHMMSS หรือ YYYYMMDD หรือ YYMMDD แล้วแต่ว่าจะระบุค่า M เป็น 14, 12, 8
TIME : สำหรับเก็บข้อมูลประเภทเวลา มีค่าได้ตั้งแต่ -838:59:59 ไปจนถึง 838:59:59 โดยจะแสดงผลออกมาในรูปแบบ HH:MM:SS
YEAR[(2/4)] : สำหรับเก็บข้อมูลประเภทปี ในรูปแบบ YYYY หรือ YY แล้วแต่ว่าจะเลือก 2 หรือ 4 (หากไม่ระบุ จะถือว่าเป็น 4 หลัก) โดยหากเลือกเป็น 4 หลัก จะเก็บค่าได้ตั้งแต่ ค.ศ. 1901 ถึง 2155 แต่หากเป็น 2 หลัก จะเก็บตั้งแต่ ค.ศ. 1970 ถึง 2069
CHAR : สำหรับเก็บข้อมูลประเภทตัวอักษร แบบที่ถูกจำกัดความกว้างเอาไว้คือ 255 ตัวอักษร ไม่สามารถปรับเปลี่ยนได้เหมือนกับ VARCHAR หากทำการสืบค้นโดยเรียงตามลำดับ
TINYBLOB : สำหรับเก็บข้อมูลประเภทไบนารี ได้แก่ ไฟล์ข้อมูลต่างๆ, ไฟล์รูปภาพ, ไฟล์มัลติมีเดีย เป็นต้น คือไฟล์อะไรก็ตามที่อัพโหลดผ่านฟอร์มอัพโหลดไฟล์ในภาษา HTML โดย TINYBLOB นั้นจะมีเนื้อที่ให้เก็บข้อมูลได้ 256 ไบต์
TINYTEXT : ในกรณีที่ข้อความยาวๆ หรือต้องการที่จะค้นหาข้อความ โดยอาศัยฟีเจอร์ FULL TEXT SEARCH ของ MySQL เราอาจจะเลือกที่จะไม่เก็บข้อมูลลงในฟิลด์ประเภท VARCHAR ที่มีข้อจำกัดแค่ 256 ตัวอักษร แต่เราจะเก็บลงฟิลด์ประเภท TEXT แทน โดย TINYTEXT นี้ จะสามารถเก็บข้อมูลได้ 256 ตัวอักษร
BLOB : สำหรับเก็บข้อมูลประเภทไบนารี เช่นเดียวกับ TINYBLOB แต่สามารถเก็บข้อมูลได้ 64KB
MEDIUMBLOB : สำหรับเก็บข้อมูลประเภทไบนารี เช่นเดียวกับ TINYBLOB แต่เก็บข้อมูลได้ 16MB
MEDIUMTEXT : เก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINYTEXT แต่เก็บข้อมูลได้ 16,777,215 ตัวอักษร
LONGBLOB : สำหรับเก็บข้อมูลประเภทไบนารี เช่นเดียวกับ TINYBLOB แต่เก็บข้อมูลได้ 4GB
LONGTEXT : เก็บข้อมูลประเภทตัวอักษร เช่นเดียวกับ TINYTEXT แต่เก็บข้อมูลได้ 4,294,967,295 ตัวอักษร
SET : สำหรับเก็บข้อมูลที่เป็นกลุ่มของข้อมูลที่ยอมให้เลือกได้ 1 ค่าหรือหลายๆ ค่า ซึ่งสามารถกำหนดได้ถึง 64 ค่า
ENUM(Enumeration) >> หมายถึงเซตของข้อมูลชุดหนึ่งที่มีจำนวนสมาชิกที่กำหนดไว้แน่นอนและทราบค่าทุกตัว ซึ่งมักจะเป็นข้อมูลที่มีลักษณะคงที่

BINARYระบบเลขที่มีสัญลักษณ์เพียงสองตัวคือ 0 (ศูนย์) กับ 1 (หนึ่ง) บางครั้งอาจหมายถึงการที่มีโอกาสเลือกได้เพียง 2 ทาง เช่น ปิดกับเปิด, ไม่ใช่กับใช่, เท็จกับจริง, ซ้ายกับขวา เป็นต้น
BOOL คือข้อมูลที่มีค่าเป็นจริง (True) หรือเท็จ (False)
VARBINARY คือ มีลักษณะการเก็บคล้าย Varcha คือการเก็บข้อมูลตามที่รับมาจริงเท่านั้น มีขนาดสูงสุดมากถึง 8000 ไบต์

วันพุธที่ 28 ตุลาคม พ.ศ. 2552

การติดตั้งโปรแกรม Appserv 2.5.9

ดาวโหลดโปรแกรม Appserv ที่ www.kitt.kvc.ac.th โดยเลือกเวอร์ชั่นที่ต้องการติดตั้ง
ขั้นตอนในการติดตั้ง โปรแกรม appserv โดยดับเบิ้ลคลิกที่ไฟล์ Appserv เวอร์ชั่นที่ต้อง แล้วกด Next เพื่อที่ต้องการิดตั้ง แล้วจะปรากฏหน้าจอรายละเอียดต่างๆ แล้วคลิกที่ปุ่ม I Agree แล้วจะเข้าสู่ ปลายทางที่ต้องการจะติดตั้งโปรแกรมไว้ถ้าต้องที่จะเก้บไว้ที่ ไฟล์ที่แสดงอยู่ ให้คลิกที่ปุ่ม Next แต่ถ้าไม่ต้องการเก้บไว้ที่ไฟล์ที่แสดงอยู่ให้กดปุ่ม Browse เพื่อเปลี่ยนปลายทางที่ต้องการเก็บโปรแกรม เมื่อคลิกปุ่ม Next แล้ว จะปรากฏหน้าจอให้เลือก Package components ให้คลิกช่องสี่เหลี่ยมเล็กๆทั้งหมด แล้วกดปุ่ม Next ต่อไปจะปรากฏหน้าจอให้เติมข้อมุลลงไปในช่งว่าง ช่องแรกให้เติมคำว่า "Localhost" ช่องที่ 2 เติวคำว่า Admin เมื่อเติมข้อมูลเส๊จให้กดปุ่ม Next จะเป้นการตั้งรหัส passwork ให้ตั้งเหมือนกันทั้ง 2 ช่อง เมื่อเติมเส็จแล้วให้กดปุ่ม Install มาถึงขั้นตอนสุดท้ายให่กดปุ่ม Finish เป้นการเส็จสิ้นการติดตั้งโปรแกรม