묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
다음처럼 이미지의 모서리 라운딩 만드는 소스에 대해서
2006.06.05 17:36
안녕하세요. 다음의 웹페이지를 보면 이미지의 모서리를 라운딩해서 보여주도록 되어 있는데요. 포토샵에서 작업을 한 것이 아니라 스크립트 언어를 사용해서 만드는 것 같더군요.
<SCRIPT type=text/javascript>
cur_scroll_Wimg = Math.round(Math.random()*(imgDiv.length-1));
document.write(imgDiv[cur_scroll_Wimg]);
</SCRIPT>
이런 소스를 사용하고 있는 것 같던데요. 혹시 이와 관련된 내용이나 소스를 알고 계신 분 있으시다면 도움을 얻고자 합니다.
게시판의 이미지를 최근 게시물로 불러왔을 때 이미지의 모서리를 라운딩시키고 싶은데 방법이 마땅치가 않네요.
고수님들의 많은 조언과 답변 부탁드리겠습니다.
ps: 해외 사이트를 검색하다가 아래와 같은 소스를 발견했습니다. 이걸 응용하면 최근 게시물 스킨도 만들 수 있을 것 같은데 고수님들의 도움 부탁드리겠습니다.
<?php
$image_file = $_GET['image/round_corner.gif'];
$corner_radius = isset($_GET['radius']) ? $_GET['radius'] : 20; // The default corner radius is set to 20px
$angle = isset($_GET['angle']) ? $_GET['angle'] : 0; // The default angle is set to 0º
$topleft = (isset($_GET['topleft']) and $_GET['topleft'] == "no") ? false : true; // Top-left rounded corner is shown by default
$bottomleft = (isset($_GET['bottomleft']) and $_GET['bottomleft'] == "no") ? false : true; // Bottom-left rounded corner is shown by default
$bottomrigbt = (isset($_GET['bottomrigbt']) and $_GET['bottomrigbt'] == "no") ? false : true; // Bottom-right rounded corner is shown by default
$topright = (isset($_GET['topright']) and $_GET['topright'] == "no") ? false : true; // Top-right rounded corner is shown by default
$images_dir = 'images/';
$corner_source = imagecreatefrompng('images/rounded_corner.png');
$corner_width = imagesx($corner_source);
$corner_height = imagesy($corner_source);
$corner_resized = ImageCreateTrueColor($corner_radius, $corner_radius);
ImageCopyResampled($corner_resized, $corner_source, 0, 0, 0, 0, $corner_radius, $corner_radius, $corner_width, $corner_height);
$corner_width = imagesx($corner_resized);
$corner_height = imagesy($corner_resized);
$image = imagecreatetruecolor($corner_width, $corner_height);
$image = imagecreatefromjpeg($images_dir . $image_file); // replace filename with $_GET['src']
$size = getimagesize($images_dir . $image_file); // replace filename with $_GET['src']
$white = ImageColorAllocate($image,255,255,255);
$black = ImageColorAllocate($image,0,0,0);
// Top-left corner
if ($topleft == true) {
$dest_x = 0;
$dest_y = 0;
imagecolortransparent($corner_resized, $black);
imagecopymerge($image, $corner_resized, $dest_x, $dest_y, 0, 0, $corner_width, $corner_height, 100);
}
// Bottom-left corner
if ($bottomleft == true) {
$dest_x = 0;
$dest_y = $size[1] - $corner_height;
$rotated = imagerotate($corner_resized, 90, 0);
imagecolortransparent($rotated, $black);
imagecopymerge($image, $rotated, $dest_x, $dest_y, 0, 0, $corner_width, $corner_height, 100);
}
// Bottom-right corner
if ($bottomrigbt == true) {
$dest_x = $size[0] - $corner_width;
$dest_y = $size[1] - $corner_height;
$rotated = imagerotate($corner_resized, 180, 0);
imagecolortransparent($rotated, $black);
imagecopymerge($image, $rotated, $dest_x, $dest_y, 0, 0, $corner_width, $corner_height, 100);
}
// Top-right corner
if ($topright == true) {
$dest_x = $size[0] - $corner_width;
$dest_y = 0;
$rotated = imagerotate($corner_resized, 270, 0);
imagecolortransparent($rotated, $black);
imagecopymerge($image, $rotated, $dest_x, $dest_y, 0, 0, $corner_width, $corner_height, 100);
}
// Rotate image
$image = imagerotate($image, $angle, $white);
// Output final image
imagejpeg($image);
imagedestroy($image);
imagedestroy($corner_source);
?>
<SCRIPT type=text/javascript>
cur_scroll_Wimg = Math.round(Math.random()*(imgDiv.length-1));
document.write(imgDiv[cur_scroll_Wimg]);
</SCRIPT>
이런 소스를 사용하고 있는 것 같던데요. 혹시 이와 관련된 내용이나 소스를 알고 계신 분 있으시다면 도움을 얻고자 합니다.
게시판의 이미지를 최근 게시물로 불러왔을 때 이미지의 모서리를 라운딩시키고 싶은데 방법이 마땅치가 않네요.
고수님들의 많은 조언과 답변 부탁드리겠습니다.
ps: 해외 사이트를 검색하다가 아래와 같은 소스를 발견했습니다. 이걸 응용하면 최근 게시물 스킨도 만들 수 있을 것 같은데 고수님들의 도움 부탁드리겠습니다.
<?php
$image_file = $_GET['image/round_corner.gif'];
$corner_radius = isset($_GET['radius']) ? $_GET['radius'] : 20; // The default corner radius is set to 20px
$angle = isset($_GET['angle']) ? $_GET['angle'] : 0; // The default angle is set to 0º
$topleft = (isset($_GET['topleft']) and $_GET['topleft'] == "no") ? false : true; // Top-left rounded corner is shown by default
$bottomleft = (isset($_GET['bottomleft']) and $_GET['bottomleft'] == "no") ? false : true; // Bottom-left rounded corner is shown by default
$bottomrigbt = (isset($_GET['bottomrigbt']) and $_GET['bottomrigbt'] == "no") ? false : true; // Bottom-right rounded corner is shown by default
$topright = (isset($_GET['topright']) and $_GET['topright'] == "no") ? false : true; // Top-right rounded corner is shown by default
$images_dir = 'images/';
$corner_source = imagecreatefrompng('images/rounded_corner.png');
$corner_width = imagesx($corner_source);
$corner_height = imagesy($corner_source);
$corner_resized = ImageCreateTrueColor($corner_radius, $corner_radius);
ImageCopyResampled($corner_resized, $corner_source, 0, 0, 0, 0, $corner_radius, $corner_radius, $corner_width, $corner_height);
$corner_width = imagesx($corner_resized);
$corner_height = imagesy($corner_resized);
$image = imagecreatetruecolor($corner_width, $corner_height);
$image = imagecreatefromjpeg($images_dir . $image_file); // replace filename with $_GET['src']
$size = getimagesize($images_dir . $image_file); // replace filename with $_GET['src']
$white = ImageColorAllocate($image,255,255,255);
$black = ImageColorAllocate($image,0,0,0);
// Top-left corner
if ($topleft == true) {
$dest_x = 0;
$dest_y = 0;
imagecolortransparent($corner_resized, $black);
imagecopymerge($image, $corner_resized, $dest_x, $dest_y, 0, 0, $corner_width, $corner_height, 100);
}
// Bottom-left corner
if ($bottomleft == true) {
$dest_x = 0;
$dest_y = $size[1] - $corner_height;
$rotated = imagerotate($corner_resized, 90, 0);
imagecolortransparent($rotated, $black);
imagecopymerge($image, $rotated, $dest_x, $dest_y, 0, 0, $corner_width, $corner_height, 100);
}
// Bottom-right corner
if ($bottomrigbt == true) {
$dest_x = $size[0] - $corner_width;
$dest_y = $size[1] - $corner_height;
$rotated = imagerotate($corner_resized, 180, 0);
imagecolortransparent($rotated, $black);
imagecopymerge($image, $rotated, $dest_x, $dest_y, 0, 0, $corner_width, $corner_height, 100);
}
// Top-right corner
if ($topright == true) {
$dest_x = $size[0] - $corner_width;
$dest_y = 0;
$rotated = imagerotate($corner_resized, 270, 0);
imagecolortransparent($rotated, $black);
imagecopymerge($image, $rotated, $dest_x, $dest_y, 0, 0, $corner_width, $corner_height, 100);
}
// Rotate image
$image = imagerotate($image, $angle, $white);
// Output final image
imagejpeg($image);
imagedestroy($image);
imagedestroy($corner_source);
?>