Results 1 to 7 of 7

Thread: ิการเปลี่ยนภาพ bitmap สี เป็น gray scale

  1. #1
    Junior Member
    Join Date
    Nov 2006
    Posts
    27


    ตามคำสัญญาครับ ทดสอบแล้วครับ ทำงานได้ 100%
    [hide=5][code]
    #include <stdio.h>
    #include <windows.h>
    #include <stdio.h>
    #include <windows.h>
    #include <stdlib.h>
    int writebmp(char * filename,HBITMAP bmp,HDC hDC);
    int main(){

  2. #2
    Senior Member
    Join Date
    Jul 2004
    Location
    Bangkok
    Posts
    187


    ลองเปลี่ยนไปใช้
    Code:
    SetPixelV
    จะเร็วขึ้นอีกนิดหนึ่ง

    แต่ถ้าจะให้ดีกว่านี้ ลองใช้
    **Hidden Content: To see this hidden content your post count must be 2 or greater.**

    จะได้อ้างถึง memory โดยตรง ซึ่งจะเร็วกว่าเยอะ

    ปล
    size.X=bmp.bmWidth+1;
    size.Y=bmp.bmHeight+1;
    for(int y=0;y<size.Y;y++){ //loop y times
    for(int x=0;x<size.X;x++){ //each y loop make x loop x times
    [/b]
    ทำไมต้อง +1 เท่าที่ดู ไม่จำเป็นต้องบวกเพิ่มนะ

    fwrite(&hgraybmp,1,GlobalSize(grayhDC),fp);
    [/b]
    เขียนแบบนี้ไม่น่าจะ สร้างไฟล์ bmp ได้นะ ทำได้จริงๆเหรอ ?
    ปกติต้องมาเขียน Bitmapheader แล้วค่อยตามด้วย palette แล้วค่อยเป็นค่าสี

  3. #3
    Junior Member
    Join Date
    Nov 2006
    Posts
    27


    ผมเพิ่งเห็นว่า มันไม่ถูกต้องเหมือนกัน
    ต้อขออภัยคนที่เข้ามาดู แก้ใขให้แล้ว
    ถูกครับ มันเขียนไม่ได้หรอก ............................
    แก้ใขให้แล้ว

    อ้อๆ SetPixelV ไม่ได้ช่วยให้เร็วขึ้นครับ



    และผมไม่ได้ตั้งใจจะ สอนวิธีการทำงานที่เร็ว แต่ืบทความนี้เพื่อแสดงให้เห็น ... ถึงประโยชน์ อย่างแน่นอน ของการเข้าถึง pixel ของภาพ แล้วเอามาทำ โดยตรง เห็นภาพ แต่

    CreateDIBSection กลับต้องใช้ความรู้ในระดับที่ยาก ขึ้นไป ซึ่งทำให้ผู้ซึ่งมาอ่าน ทำความเข้าใจได้โดยยาก โดยเฉพาะคนที่ พื้นฐานอ่อนเกินไป
    แต่ผมคิดอย่างนี้ จึงทำ ให้ โค๊ตผมมีความผิดพลาด ใน ส่วนของเขียน bmp ลงไฟล์ เพราะมันไม่จำ้ป็นและการทำดังนั้นก็ยากเพิ่มขึ้นอันอาจจะทำให มั่วได้ ถ้าผมจะเขียน bitmapลงไฟล์ หรือการเปลี่ยนระหว่าง DIB DDB ผมควรจะตั้งกระทู้ใหม่ ไม่ดีกว่าเหรอ
    ทั้งนี้ ไม่ได้หมายความว่าผม จะเขียนให้ผู้ซึ่งเพิ่งหัดมาอ่าน เพราะแน่นอนว่า ย่อมนากแก่การทำความเข้าใจ
    ขอแค่ concept พอ

    แต่ท่าน ก็เป็นผู้ที่มีความรู้ advance อยู่นับว่าหาได้ยากยิ่ง

  4. #4
    Senior Member
    Join Date
    Jul 2004
    Location
    Bangkok
    Posts
    187


    นิดหนึ่งนะครับ จริงๆแล้วไม่ต้องใช้ GlobalAlloc ก็ได้ แค่ new ธรรมดาก็พอ

    GlobalAlloc มันใช้สำหรับจอง memory เพื่อ shared process
    ปล จากตัวอย่างที่เขียนมา memory leaked เพียบเลย ถ้าใช้ GlobalAlloc แล้วต้อง GlobalFree ด้วย (ตรงนี้จะ detect ยากนิดหนึ่ง)
    แต่ถ้าใช้ new ก็ต้องอย่าลืม delete ซึ่งตรงนี้จะ detect ได้ง่ายว่ามี memory leaked ตรงไหนบ้าง

    เขียนภาษา C/C++ ต้องรู้จักรับผิดชอบครับ สร้างแล้วต้องทำลาย ^^

  5. #5
    Junior Member
    Join Date
    Nov 2006
    Posts
    27


    กัดผมจริงนะ ท่าน memory leak อีกแล้ว เอาเถอะ แก้ให้

  6. #6
    Senior Member newsbot's Avatar
    Join Date
    Sep 2002
    Location
    Thailand
    Posts
    3,766


    สืบเนื่องจากการใช้ระบบสมัครดังกล่าว ทำให้ชุมชนของเรานั้นมีจำนวนสมาชิกไม่มาก
    ซึ่งสามารถจำแนกระดับความสามารถของสมาชิกได้ดังนี้

    ทั่วไป: 20%
    ชำนาญ: 40%
    เชี่ยวชาญ: 30%
    เซียน: 10%

    ข้อมูลดังกล่าววิเคราะห์ออกมาจากการ Post ของสมาชิกใน boardในหมวดต่างๆ
    ซึ่งเห็นได้ว่าชุมชนของเรานั้นมีสมาชิกที่มีความสามารถอยู่สูงมาก อาจกล่าวได้ว่า
    เราเป็นแหล่งความรู้แหล่งศึกษาของผู้ที่จริงจังกับศาตร์ต่างๆทางด้านคอมพิวเตอร์ก็ว่าได้

    ผมว่าเป็นเรื่องดีครับที่เราได้มีผู้รู้หลายๆคนแบ่งปันต่อยอด
    ทุนเดิมที่เรามีอยู่เปรียบเหมือนเราเองเป็นแก้วที่ มีน้ำอยู่ระดับนึงแล้ว
    เมื่อมีผู้ที่เชี่ยวชาญกว่ามาแนะนำ(เพิ่มน้ำในแก้่วเรา) ความรู้เราก็เพิ่มพูนไปด้วย
    ผมอยากเห็นบรรยากาศแบบนี้มานานแล้วครับ
    clone 'em all

  7. #7
    Senior Member
    Join Date
    Jul 2004
    Location
    Bangkok
    Posts
    187


    กัดผมจริงนะ ท่าน memory leak อีกแล้ว เอาเถอะ แก้ให้
    [/b]
    ปล ไม่ได้จ้องจับผิด เพียงแต่ คนเรามันพลาดกันได้ ผมเองก็พลาดอยู่บ่อยๆ ^^

Similar Threads

  1. [PDF] Gray Hat Hacking, Second Edition
    By Gen0TypE in forum Hacking/Cracking's E-book
    Replies: 4
    Last Post: 23-01-2010, 01:55 AM
  2. Google Defends Against Large Scale Chinese Cyber Attack: May
    By newsbot in forum World Hacking/Security News
    Replies: 3
    Last Post: 13-01-2010, 01:28 PM
  3. Gray Hat Hacking, Second Edition
    By tuxkula in forum World Hacking Ebook
    Replies: 0
    Last Post: 11-05-2009, 03:51 PM
  4. Gray Hat Hacking : The Ethical Hacker's Handbook
    By newsbot in forum World Hacking Ebook
    Replies: 0
    Last Post: 05-01-2006, 10:35 PM
  5. Replies: 5
    Last Post: 14-01-2005, 07:28 PM

Members who have read this thread : 0

Actions : (View-Readers)

There are no names to display.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •