교컴 키우기 자발적 후원 |
- 1가입인사
- 2슈링클스(Shrinkles) 열쇠고리(keyring) 제작 학습지
- 3초대! 『기준 없이』 출간 기념 스티븐 샤비로 강연 (2024년 4월 20일 토 오전 10시)
- 4그림으로 공부하는 과학사
- 5페임랩(Fame Lab) 학습지
- 6새 책! 『육식, 노예제, 성별위계를 거부한 생태적 저항의 화신, 벤저민 레이』 글·그림 데이비드 레스터, 마커스 레디커·폴 불 엮음, 김정연 옮김, 신은주 감수
- 7마음 속 우편함
- 8새 책! 『죽음의 왕, 대서양의 해적들』 글·그림 데이비드 레스터, 글 마커스 레디커, 폴 불 엮음, 김정연 옮김, 신은주 감수
- 9스무가지 조언
- 10사랑의 다른 말
|
span> |
교컴 포토갤러리 |
플래시수업
이미지관련] bitmapData관련함수 예소스
bitmapData.draw 이해하기
bitmapData.floodFill 이해하기
소스실행시 버그는 신경쓰지 마세요.
이 함수는 플레시플레리어 8버전에 적용됩니다.
플래시에서 그린그림 jpg로 저장 php예>
.fla
import flash.display.*;
import flash.geom.*;
//import flash.filters.*;
//
bitmap = new BitmapData(200, 200, true);
_root.attachBitmap(bitmap,10);
onEnterFrame = function () {
bitmap.perlinNoise(bx.currentValue,by.currentValue,numOctave.currentValue,randomSeed.currentValue,stitch.value,fractalNoise.value,channel.value,grayscale.value);
};
btn.onRelease = function() {
abc = new LoadVars();
abc.px = new Array();
for (i=0; i<200; i++) {
for (j=0; j<200; j++) {
abc.px.push(bitmap.getPixel(j, i));
}
}
abc.send(\"perlinNoise_createImage.php\",\"_blank\",\"POST\");
};
.php
<?php
error_reporting(0);
/**
* Get the width and height of the destination image
* from the POST variables and convert them into
* integer values
*/
$w = (int)$_POST[\'width\'];
$h = (int)$_POST[\'height\'];
// create the image with desired width and height
$img = imagecreatetruecolor($w, $h);
// now fill the image with blank color
// do you remember i wont pass the 0xFFFFFF pixels
// from flash?
imagefill($img, 0, 0, 0xFFFFFF);
$rows = 0;
$cols = 0;
// now process every POST variable which
// contains a pixel color
for($rows = 0; $rows < $h; $rows++){
// convert the string into an array of n elements
$c_row = explode(\",\", $_POST[\'px\' . $rows]);
for($cols = 0; $cols < $w; $cols++){
// get the single pixel color value
$value = $c_row[$cols];
// if value is not empty (empty values are the blank pixels)
if($value != \"\"){
// get the hexadecimal string (must be 6 chars length)
// so add the missing chars if needed
$hex = $value;
while(strlen($hex) < 6){
$hex = \"0\" . $hex;
}
// convert value from HEX to RGB
$r = hexdec(substr($hex, 0, 2));
$g = hexdec(substr($hex, 2, 2));
$b = hexdec(substr($hex, 4, 2));
// allocate the new color
// N.B. teorically if a color was already allocated
// we dont need to allocate another time
// but this is only an example
$test = imagecolorallocate($img, $r, $g, $b);
// and paste that color into the image
// at the correct position
imagesetpixel($img, $cols, $rows, $test);
}
}
}
// print out the correct header to the browser
header(\"Content-type:image/jpeg\");
// display the image
imagejpeg($img, \"\", 90);
?>
.ASP에서
<%
Dim newBitmap(21,86)
Dim vDistort(8)
Const LeftMargin = 15
Const BottomMargin = 1
Const CharWidth = 10
Const CharHeight = 14
Const CodeLength = 7
Const Distort = True
Const TClr = \"00 00 CC\"
Const BClr = \"FF FF FF\"
Const BmpHeader = \"42 4D 8C 15 00 00 00 00 00 00 36 00 00 00 28 00 00 00 56 00 00 00 15 00 00 00 01 00 18 00 00 00 00 00 56 15 00 00 12 0B 00 00 12 0B 00 00 00 00 00 00 00 00 00 00\"
Const BmpEndLine = \"00 00\"
Function IHex(iRow,iColumn,strHex,iRepeat)
for x=0 to (iRepeat-1)
newBitmap(iRow,iColumn+x) = strHex
next
End Function
Function WriteCanvas(valChar,iNumPart,iRow,iColumn)
select case iNumPart
case 1
select case valChar
case 0
IHex iRow,iColumn+2,TClr,4
case 1
IHex iRow,iColumn+3,TClr,2
case 2
IHex iRow,iColumn+2,TClr,4
case 3
IHex iRow,iColumn+2,TClr,3
case 4
IHex iRow,iColumn+5,TClr,2
case 5
IHex iRow,iColumn+1,TClr,6
case 6
IHex iRow,iColumn+2,TClr,4
case 7
IHex iRow,iColumn,TClr,8
case 8
IHex iRow,iColumn+2,TClr,4
case 9
IHex iRow,iColumn+2,TClr,4
end select
case 2
select case valChar
case 0
IHex iRow,iColumn+1,TClr,6
case 1
IHex iRow,iColumn+2,TClr,3
case 2
IHex iRow,iColumn+1,TClr,6
case 3
IHex iRow,iColumn+1,TClr,6
case 4
IHex iRow,iColumn+4,TClr,3
case 5
IHex iRow,iColumn+1,TClr,6
case 6
IHex iRow,iColumn+1,TClr,6
case 7
IHex iRow,iColumn,TClr,8
case 8
IHex iRow,iColumn+1,TClr,6
case 9
IHex iRow,iColumn+1,TClr,6
end select
case 3
select case valChar
case 0
IHex iRow,iColumn,TClr,3
IHex iRow,iColumn+5,TClr,3
case 1
IHex iRow,iColumn+1,TClr,4
case 2
IHex iRow,iColumn,TClr,3
IHex iRow,iColumn+5,TClr,3
case 3
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+5,TClr,2
case 4
IHex iRow,iColumn+4,TClr,3
case 5
IHex iRow,iColumn+1,TClr,2
case 6
IHex iRow,iColumn+1,TClr,2
IHex iRow,iColumn+6,TClr,2
case 7
IHex iRow,iColumn+6,TClr,1
case 8
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 9
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
end select
case 4
select case valChar
case 0
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 1
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+3,TClr,2
case 2
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 3
IHex iRow,iColumn+5,TClr,2
case 4
IHex iRow,iColumn+3,TClr,4
case 5
IHex iRow,iColumn,TClr,2
case 6
IHex iRow,iColumn,TClr,2
case 7
IHex iRow,iColumn+5,TClr,2
case 8
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 9
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
end select
case 5
select case valChar
case 0
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 1
IHex iRow,iColumn,TClr,1
IHex iRow,iColumn+3,TClr,2
case 2
IHex iRow,iColumn+6,TClr,2
case 3
IHex iRow,iColumn+5,TClr,2
case 4
IHex iRow,iColumn+2,TClr,2
IHex iRow,iColumn+5,TClr,2
case 5
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+3,TClr,3
case 6
IHex iRow,iColumn,TClr,2
case 7
IHex iRow,iColumn+4,TClr,2
case 8
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 9
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
end select
case 6
select case valChar
case 0
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 1
IHex iRow,iColumn+3,TClr,2
case 2
IHex iRow,iColumn+6,TClr,2
case 3
IHex iRow,iColumn+3,TClr,3
case 4
IHex iRow,iColumn+2,TClr,2
IHex iRow,iColumn+5,TClr,2
case 5
IHex iRow,iColumn,TClr,7
case 6
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+3,TClr,3
case 7
IHex iRow,iColumn+4,TClr,2
case 8
IHex iRow,iColumn+1,TClr,6
case 9
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+5,TClr,3
end select
case 7
select case valChar
case 0
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 1
IHex iRow,iColumn+3,TClr,2
case 2
IHex iRow,iColumn+5,TClr,2
case 3
IHex iRow,iColumn+3,TClr,4
case 4
IHex iRow,iColumn+1,TClr,2
IHex iRow,iColumn+5,TClr,2
case 5
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 6
IHex iRow,iColumn,TClr,7
case 7
IHex iRow,iColumn+3,TClr,2
case 8
IHex iRow,iColumn+1,TClr,6
case 9
IHex iRow,iColumn+1,TClr,7
end select
case 8
select case valChar
case 0
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 1
IHex iRow,iColumn+3,TClr,2
case 2
IHex iRow,iColumn+4,TClr,2
case 3
IHex iRow,iColumn+6,TClr,2
case 4
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+5,TClr,2
case 5
IHex iRow,iColumn+6,TClr,2
case 6
IHex iRow,iColumn,TClr,3
IHex iRow,iColumn+6,TClr,2
case 7
IHex iRow,iColumn+3,TClr,2
case 8
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 9
IHex iRow,iColumn+2,TClr,3
IHex iRow,iColumn+6,TClr,2
end select
case 9
select case valChar
case 0
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 1
IHex iRow,iColumn+3,TClr,2
case 2
IHex iRow,iColumn+3,TClr,2
case 3
IHex iRow,iColumn+6,TClr,2
case 4
IHex iRow,iColumn,TClr,9
case 5
IHex iRow,iColumn+6,TClr,2
case 6
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 7
IHex iRow,iColumn+3,TClr,2
case 8
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 9
IHex iRow,iColumn+6,TClr,2
end select
case 10
select case valChar
case 0
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 1
IHex iRow,iColumn+3,TClr,2
case 2
IHex iRow,iColumn+2,TClr,2
case 3
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 4
IHex iRow,iColumn,TClr,9
case 5
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 6
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 7
IHex iRow,iColumn+3,TClr,2
case 8
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 9
IHex iRow,iColumn+6,TClr,2
end select
case 11
select case valChar
case 0
IHex iRow,iColumn,TClr,3
IHex iRow,iColumn+5,TClr,3
case 1
IHex iRow,iColumn+3,TClr,2
case 2
IHex iRow,iColumn+1,TClr,2
case 3
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 4
IHex iRow,iColumn+5,TClr,2
case 5
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 6
IHex iRow,iColumn+1,TClr,2
IHex iRow,iColumn+6,TClr,2
case 7
IHex iRow,iColumn+2,TClr,2
case 8
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+6,TClr,2
case 9
IHex iRow,iColumn,TClr,2
IHex iRow,iColumn+5,TClr,2
end select
case 12
select case valChar
case 0
IHex iRow,iColumn+1,TClr,6
case 1
IHex iRow,iColumn+3,TClr,2
case 2
IHex iRow,iColumn,TClr,8
case 3
IHex iRow,iColumn+1,TClr,6
case 4
IHex iRow,iColumn+5,TClr,2
case 5
IHex iRow,iColumn+1,TClr,6
case 6
IHex iRow,iColumn+1,TClr,6
case 7
IHex iRow,iColumn+2,TClr,2
case 8
IHex iRow,iColumn+1,TClr,6
case 9
IHex iRow,iColumn+1,TClr,6
end select
case 13
select case valChar
case 0
IHex iRow,iColumn+2,TClr,4
case 1
IHex iRow,iColumn+3,TClr,2
case 2
IHex iRow,iColumn,TClr,8
case 3
IHex iRow,iColumn+2,TClr,4
case 4
IHex iRow,iColumn+5,TClr,2
case 5
IHex iRow,iColumn+2,TClr,4
case 6
IHex iRow,iColumn+2,TClr,4
case 7
IHex iRow,iColumn+2,TClr,2
case 8
IHex iRow,iColumn+2,TClr,4
case 9
IHex iRow,iColumn+2,TClr,4
end select
end select
End Function
Function LeftTracking(iNumber)
select case iNumber
case 1
LeftTracking = 2
case 4
LeftTracking = 0
case else
LeftTracking = 1
end select
End Function
Function CreateGUID(tmpLength)
Randomize Timer
Dim tmpCounter,tmpGUID
Const strValid = \"01234567890\"
For tmpCounter = 1 To tmpLength
tmpGUID = tmpGUID & Mid(strValid, Int(Rnd(1) * Len(strValid)) + 1, 1)
Next
CreateGUID = tmpGUID
End Function
Function GetStartColumn(iNumber,iLine)
if Distort = true then
Randomize Timer
DistortNum = (Rnd(4) - 2)
else
DistortNum = 0
end if
GetStartColumn = LeftMargin + ((CharWidth * (iLine-1)) + LeftTracking(iNumber)) + DistortNum
End Function
Function SendHex(valArrHex)
arrHex = Split(valArrHex,\" \")
for i=0 to UBound(arrHex)
strHex = \"&H\" & arrHex(i)
Response.BinaryWrite ChrB(CInt(strHex))
next
End Function
Function SendClient()
Response.Buffer = True
Response.ContentType = \"image/bmp\"
Response.CacheControl = \"no-cache\"
Response.AddHeader \"Pragma\", \"no-cache\"
Response.Expires = -1
SendHex(BmpHeader)
for y=1 to 21
for x=1 to 86
tmpHex = newBitmap(y,x)
if tmpHex = vbNullString then
SendHex(BClr)
else
SendHex(tmpHex)
end if
if x=86 then
SendHex(BmpEndLine)
end if
next
next
SendHex(BmpEndLine)
Response.End
End Function
%>
- floodFill2.swf (0B) (34)
- bitmapData.zip (0B) (30)
- perlinNoise_createImage.swf (0B) (33)
- perlinNoise_createImage.zip (0B) (30)
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
[활용] 수업 활용 감동 플래시 150편 [37+1] | 함영기 | 163030 | 2003.08.21 18:57 | |
>> | [플래시강좌] 이미지관련] bitmapData관련함수 예소스 | 유춘모 | 3499 | 2006.08.04 12:24 |
386 | [플래시유틸] 플러그인.exe 설치 후 자료저장 문의! [1] | 소망이 | 2507 | 2006.07.28 11:42 |
385 | [플래시강좌] 스위시맥스 동영상 강좌입니다(기초부터) | 강승한 | 7840 | 2006.07.18 12:50 |
384 | [기타플래시] 3D로 구성해 본 이운재 선방(착시) [2] | 김정식 | 2891 | 2006.06.20 21:19 |
383 | [플래시유틸] 간편하게 플래시포맷 컨텐츠 및 CD컨텐츠 제작할수 있습니다. | 강승한 | 2477 | 2006.06.15 17:13 |
382 | [기타플래시] 입력한 숫자만큼 늘어나는 나비 | 윤은애 | 2929 | 2006.04.13 09:47 |
381 | [플래시강좌] MS IE ActiveX관련 특허소송 패소에 따른 ActiveX실행문제 [1] | 유춘모 | 2633 | 2006.03.12 17:49 |
380 | [플래시수업] 영어날씨송 | 윤은애 | 10438 | 2006.02.09 22:27 |
379 | [플래시강좌] 플래시에서 동영상을 이용하여 학습자료 제작하는 방법 [3] | 김정식 | 4054 | 2006.02.05 02:07 |
378 | [기타플래시] 컴퓨터 자동종료 프로그램 [2] | 김정식 | 4507 | 2006.01.25 09:31 |
377 | [질문과답변] 나모등을 이용해서 그림위에 플래시를 얹어서 사용가능한지요? [1] | 김양희 | 2181 | 2005.12.30 22:12 |
376 | [기타플래시] 달 관찰학습모형 프로그램 안내 | 최이윤 | 2964 | 2005.11.05 17:51 |
375 | [질문과답변] 플래시 노래방을 만들려고 하는데요.. | 김훈희 | 3096 | 2005.10.25 22:52 |
374 | [질문과답변] RE:플래시 노래방을 만들려고 하는데요.. | 연진숙 | 3160 | 2005.11.15 09:42 |
373 | [기타플래시] 플래시8로 만든 아이토이 | 김정식 | 2617 | 2005.10.03 20:32 |
372 | [기타플래시] 플래시8 소스 및 예제 모음 | 김정식 | 4020 | 2005.09.29 23:10 |
371 | [플래시강좌] 플래시 2005 (8버전)으로 바꾸어 쓰세요 | 유춘모 | 3308 | 2005.09.21 23:23 |
370 | [기타플래시] 휴식시간에 시한편 들어보시면 어떨런지요^^ [1] | 김상준 | 3228 | 2005.09.21 01:09 |
369 | [질문과답변] [소스]체크박스를 이용한 문제풀이 맹길기 [1] | 유춘모 | 2406 | 2005.08.17 13:25 |
368 | [플래시수업] 플래시학습자료제작-연습파일 | 김은정 | 5408 | 2005.08.17 11:36 |