การเช็คข้อมูล base64 ที่ถูกแปลงมาจากรูป by

31
May
0

ในการส่งข้อมูลรูปไปให้ php เราต้องทำการแปลงข้อมูลก่อนโดยทาง php ของผมรับข้อมูลเป็นรูปแบบ base64 เพื่อไป decode โดยถ้าเป็นข้อมูล String ต่างๆเรายังดักเช็คก่อนทำการส่งได้ แต่ในที่นี้เป็นรูปเราจำเป็นต้องสร้าง BitmapImage และใช้เป็น ImageSnapshot ก่อนถึงจะส่งค่าได้ การเช็ครูปภาพของเราจึงต้องมีการใช้ตัวช่วยครับ

  • ขั้นแรก เราก็ทำการดักข้อมูลที่แปลงแล้วของเราก่อน โดย debug break หรือ trace ก็ได้แต่ต้องนำมาให้ครบ ไม่งั้นจะพังเอานะครับ
  • ข้อมูลรูปที่ถูก encode มาอยู่ในรูปแบบของ String

    ข้อมูลรูปที่ถูก encode มาอยู่ในรูปแบบของ String

  • ต่อไปเราก็Copyข้อมูลนั้นมาใช้ในลิ้งค์นี่ครับ base64-decoder-encoder
  • จากนั้นก็ทำการตั้งค่าต่างๆ ดังนี้ครับ
    1. - Paste ข้อมูลที่เป็น String ที่เราได้ดักมาลงใน Textbox เลยครับ
      - What to do with the source data เลือกเป็น decode
      - Output data เลือกเป็น export to a binary file, filename: เลือกใส่ชื่อไฟล์เลยครับเนื่องด้วย default ของมันเป็น .txt เราก็เปลีย่นเป็นชื่อรูป+จุด+นามสกุลไฟล์ของเราได้เลยตามรูปครับ

    64_2
    64_3

      จากนั้นกด Convert the source data เว็ปเบราเซอร์ของเราก็จะทำการเซฟรูปมาให้ครับ

    64_4

    ไฟล์ที่ได้

    ไฟล์ที่ได้

    เท่านี้เราจะตรวจสอบข้อมูลรูปที่เราจะส่งให้ php ได้แล้วล่ะครับ

    วิธีการทำให้เกมเฟลกซ์เป็นแบบเต็มจอ by

    30
    Sep
    0

    จากประสบการณ์เกม Flex ที่ผ่านมา ที่ตอนแรกคิดว่าการกดเต็มจอคงเป็นอะไรที่ไม่ยาก ก็ต้องมานั่งงมพอสมควร วันนี้เลยจะมาบอกวิธีการทำใหเกมของเราเป็นแบบเต็มจอ(ฟูลสกรีน)ให้ครับ

    โดยตอนแรกโค้ดที่คิดไว้เป็นดังนี้

    public function setFullscreen():void {

    stage.displayState = StageDisplayState.FULL_SCREEN; //ทำให้เต็มจอ

    }

    public function unsetFullscreen():void {

    stage.displayState = StageDisplayState.NORMAL; //ทำให้กลับเป็นปกติ

    }

    แต่ปรากฎว่าผลที่ได้คือเข้าโหมดฟูลกรีนจริงครับ แต่ตัวเกมยังขนาดเท่าเดิมชิดมุมซ้ายบนของจอ

    ที่นี้เราจะทำอย่างไรให้ Flex เกมของเราขยายเต็มจอ ก็ทำตามนี้เลยครับ

    public function setFullscreen():void {

    stage.align = StageAlign.TOP; //สั่งให้ตัวเกมจัดกลางจอชิดด้านบนก่อนครับ

    stage.displayState = StageDisplayState.FULL_SCREEN;

    }

    public function unsetFullscreen():void {

    stage.align = StageAlign.TOP_LEFT; //ให้เกมไปชิดซ้ายบนตามปกติ

    stage.displayState = StageDisplayState.NORMAL;

    }

    ทีนี้เราก็ทำการขยายขนาดของเกมดังนี้ครับ

    public var DEFAULT_WIDTH:int = 760; //ค่าความกว้างพื้นฐานของตัวเกม เซ็ทไว้เท่ากันกับ Group ที่ครอบทั้งเกมไว้ด้วย

    public var DEFAULT_HEIGHT:int = 600; //เช่นเดียวกันกับความสูง

    public function setFullscreen():void {

    stage.align = StageAlign.TOP;

    stage.displayState = StageDisplayState.FULL_SCREEN;

    allApp.width = stage.width; // allApp ของผมคือ Group ที่ครอบตัวเกมทั้งหมดไว้ครับเราก็ทำการขยายมันให้เท่ากัน stage.width ซึ่งก็มีค่าเท่ากับความกว้างของจอในขณะนั้นแล้ว

    allApp.height = stage.height; //เช่นเดียวกับบรรทัดก่อนหน้าแต่เป็นความสูง

    }

    public function unsetFullscreen():void {

    stage.align = StageAlign.TOP_LEFT; //ให้เกมไปชิดซ้ายบนตามปก

    ติstage.displayState = StageDisplayState.NORMAL;

    allApp.width = DEFAULT_WIDTH; //สั่งให้ค่ากลับเป็นค่าพื้นฐาน

    allApp.height = DEFAULT_HEIGHT; //เช่นกันกับความกว้าง

    }

    ที่นี้ขนาดของหน้าจอเกมก็จะถูกต้องแล้ว ที่เหลือก็แค่ทำการปรับขนาดของส่วนต่างๆในเกม เช่นบาร์ด้านบนและล่าง และการขยายตัวเกม

    public function setFullscreen():void {

    stage.align = StageAlign.TOP;

    stage.displayState = StageDisplayState.FULL_SCREEN;

    allApp.width = stage.width;

    allApp.height = stage.height;

    component.scaleX = stage.height/DEFAULT_HEIGHT; //ทำการขยายขนาดขอคอทโพเนนท์ตัวหนึ่งๆ ซึ่งจะทำให้มีขนาดเท่ากับจอที่ทำการขยายแล้วด้วยสเกลเมื่อเทียบกับขนาดจอแล้วมีขนาดเท่าเดิม

    component.scaleY = stage.height/DEFAULT_HEIGHT; // ที่ต้องใช้ height มาคำนวนไม่ใช้ width เพราะ Resolution ของจอคอมพิวเตอร์จะมีด้านกว้างมากกว่าด้านสูงดังนั้นวัตถุที่มีขนาดใหญ่เท่าขนาดเกมก่อนหน้าก็จะพอดีกับความสูงของขนาดจอครับ

    component.x -= ((component.width*stage.height/DEFAULT_HEIGHT) – (component.width))/2; //ทำการเลื่อนแกน x ของวัตถุต่างๆ จากที่ยกตัวอย่างจะเป็นวัตถุที่ขนาดเต็มจอ ทำให้ไม่ต้องเลื่อนแกน y

    //จากนั้นเราก็ทำการปรับค่าส่วนต่างๆของเกมให้ตรงกับที่ต้องการครับ

    }

    public function unsetFullscreen():void {

    stage.align = StageAlign.TOP_LEFT; //ให้เกมไปชิดซ้ายบนตามปก

    ติstage.displayState = StageDisplayState.NORMAL;

    allApp.width = DEFAULT_WIDTH;

    allApp.height = DEFAULT_HEIGHT;

    component.scaleX = 1; //ปรับกลับเป็นขนาดปกติ component.scaleY = 1;

    component.x = 0; //เลื่อนกลับที่ปกติ

    //ทำตรงข้ามกับด้านบน

    เท่านี้เราก็จะมีฟังก์ชั่นการปรับเต็มจอที่ใช่ได้แล้วล่ะครับ