<!--{{{-->
<link rel='alternate' type='application/rss+xml' title='RSS' href='index.xml'/>
<!--}}}-->
Background: #fff
Foreground: #000
PrimaryPale: #8cf
PrimaryLight: #18f
PrimaryMid: #04b
PrimaryDark: #014
SecondaryPale: #ffc
SecondaryLight: #fe8
SecondaryMid: #db4
SecondaryDark: #841
TertiaryPale: #eee
TertiaryLight: #ccc
TertiaryMid: #999
TertiaryDark: #666
Error: #f88
/*{{{*/
body {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}

a {color:[[ColorPalette::PrimaryMid]];}
a:hover {background-color:[[ColorPalette::PrimaryMid]]; color:[[ColorPalette::Background]];}
a img {border:0;}

h1,h2,h3,h4,h5,h6 {color:[[ColorPalette::SecondaryDark]]; background:transparent;}
h1 {border-bottom:2px solid [[ColorPalette::TertiaryLight]];}
h2,h3 {border-bottom:1px solid [[ColorPalette::TertiaryLight]];}

.button {color:[[ColorPalette::PrimaryDark]]; border:1px solid [[ColorPalette::Background]];}
.button:hover {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::SecondaryLight]]; border-color:[[ColorPalette::SecondaryMid]];}
.button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::SecondaryDark]];}

.header {background:[[ColorPalette::PrimaryMid]];}
.headerShadow {color:[[ColorPalette::Foreground]];}
.headerShadow a {font-weight:normal; color:[[ColorPalette::Foreground]];}
.headerForeground {color:[[ColorPalette::Background]];}
.headerForeground a {font-weight:normal; color:[[ColorPalette::PrimaryPale]];}

.tabSelected{color:[[ColorPalette::PrimaryDark]];
	background:[[ColorPalette::TertiaryPale]];
	border-left:1px solid [[ColorPalette::TertiaryLight]];
	border-top:1px solid [[ColorPalette::TertiaryLight]];
	border-right:1px solid [[ColorPalette::TertiaryLight]];
}
.tabUnselected {color:[[ColorPalette::Background]]; background:[[ColorPalette::TertiaryMid]];}
.tabContents {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::TertiaryPale]]; border:1px solid [[ColorPalette::TertiaryLight]];}
.tabContents .button {border:0;}

#sidebar {}
#sidebarOptions input {border:1px solid [[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel {background:[[ColorPalette::PrimaryPale]];}
#sidebarOptions .sliderPanel a {border:none;color:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:hover {color:[[ColorPalette::Background]]; background:[[ColorPalette::PrimaryMid]];}
#sidebarOptions .sliderPanel a:active {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::Background]];}

.wizard {background:[[ColorPalette::PrimaryPale]]; border:1px solid [[ColorPalette::PrimaryMid]];}
.wizard h1 {color:[[ColorPalette::PrimaryDark]]; border:none;}
.wizard h2 {color:[[ColorPalette::Foreground]]; border:none;}
.wizardStep {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];
	border:1px solid [[ColorPalette::PrimaryMid]];}
.wizardStep.wizardStepDone {background:[[ColorPalette::TertiaryLight]];}
.wizardFooter {background:[[ColorPalette::PrimaryPale]];}
.wizardFooter .status {background:[[ColorPalette::PrimaryDark]]; color:[[ColorPalette::Background]];}
.wizard .button {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryLight]]; border: 1px solid;
	border-color:[[ColorPalette::SecondaryPale]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryDark]] [[ColorPalette::SecondaryPale]];}
.wizard .button:hover {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Background]];}
.wizard .button:active {color:[[ColorPalette::Background]]; background:[[ColorPalette::Foreground]]; border: 1px solid;
	border-color:[[ColorPalette::PrimaryDark]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryPale]] [[ColorPalette::PrimaryDark]];}

#messageArea {border:1px solid [[ColorPalette::SecondaryMid]]; background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]];}
#messageArea .button {color:[[ColorPalette::PrimaryMid]]; background:[[ColorPalette::SecondaryPale]]; border:none;}

.popupTiddler {background:[[ColorPalette::TertiaryPale]]; border:2px solid [[ColorPalette::TertiaryMid]];}

.popup {background:[[ColorPalette::TertiaryPale]]; color:[[ColorPalette::TertiaryDark]]; border-left:1px solid [[ColorPalette::TertiaryMid]]; border-top:1px solid [[ColorPalette::TertiaryMid]]; border-right:2px solid [[ColorPalette::TertiaryDark]]; border-bottom:2px solid [[ColorPalette::TertiaryDark]];}
.popup hr {color:[[ColorPalette::PrimaryDark]]; background:[[ColorPalette::PrimaryDark]]; border-bottom:1px;}
.popup li.disabled {color:[[ColorPalette::TertiaryMid]];}
.popup li a, .popup li a:visited {color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border: none;}
.popup li a:active {background:[[ColorPalette::SecondaryPale]]; color:[[ColorPalette::Foreground]]; border: none;}
.popupHighlight {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
.listBreak div {border-bottom:1px solid [[ColorPalette::TertiaryDark]];}

.tiddler .defaultCommand {font-weight:bold;}

.shadow .title {color:[[ColorPalette::TertiaryDark]];}

.title {color:[[ColorPalette::SecondaryDark]];}
.subtitle {color:[[ColorPalette::TertiaryDark]];}

.toolbar {color:[[ColorPalette::PrimaryMid]];}
.toolbar a {color:[[ColorPalette::TertiaryLight]];}
.selected .toolbar a {color:[[ColorPalette::TertiaryMid]];}
.selected .toolbar a:hover {color:[[ColorPalette::Foreground]];}

.tagging, .tagged {border:1px solid [[ColorPalette::TertiaryPale]]; background-color:[[ColorPalette::TertiaryPale]];}
.selected .tagging, .selected .tagged {background-color:[[ColorPalette::TertiaryLight]]; border:1px solid [[ColorPalette::TertiaryMid]];}
.tagging .listTitle, .tagged .listTitle {color:[[ColorPalette::PrimaryDark]];}
.tagging .button, .tagged .button {border:none;}

.footer {color:[[ColorPalette::TertiaryLight]];}
.selected .footer {color:[[ColorPalette::TertiaryMid]];}

.sparkline {background:[[ColorPalette::PrimaryPale]]; border:0;}
.sparktick {background:[[ColorPalette::PrimaryDark]];}

.error, .errorButton {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::Error]];}
.warning {color:[[ColorPalette::Foreground]]; background:[[ColorPalette::SecondaryPale]];}
.lowlight {background:[[ColorPalette::TertiaryLight]];}

.zoomer {background:none; color:[[ColorPalette::TertiaryMid]]; border:3px solid [[ColorPalette::TertiaryMid]];}

.imageLink, #displayArea .imageLink {background:transparent;}

.annotation {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; border:2px solid [[ColorPalette::SecondaryMid]];}

.viewer .listTitle {list-style-type:none; margin-left:-2em;}
.viewer .button {border:1px solid [[ColorPalette::SecondaryMid]];}
.viewer blockquote {border-left:3px solid [[ColorPalette::TertiaryDark]];}

.viewer table, table.twtable {border:2px solid [[ColorPalette::TertiaryDark]];}
.viewer th, .viewer thead td, .twtable th, .twtable thead td {background:[[ColorPalette::SecondaryMid]]; border:1px solid [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::Background]];}
.viewer td, .viewer tr, .twtable td, .twtable tr {border:1px solid [[ColorPalette::TertiaryDark]];}

.viewer pre {border:1px solid [[ColorPalette::SecondaryLight]]; background:[[ColorPalette::SecondaryPale]];}
.viewer code {color:[[ColorPalette::SecondaryDark]];}
.viewer hr {border:0; border-top:dashed 1px [[ColorPalette::TertiaryDark]]; color:[[ColorPalette::TertiaryDark]];}

.highlight, .marked {background:[[ColorPalette::SecondaryLight]];}

.editor input {border:1px solid [[ColorPalette::PrimaryMid]];}
.editor textarea {border:1px solid [[ColorPalette::PrimaryMid]]; width:100%;}
.editorFooter {color:[[ColorPalette::TertiaryMid]];}

#backstageArea {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::TertiaryMid]];}
#backstageArea a {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstageArea a:hover {background:[[ColorPalette::SecondaryLight]]; color:[[ColorPalette::Foreground]]; }
#backstageArea a.backstageSelTab {background:[[ColorPalette::Background]]; color:[[ColorPalette::Foreground]];}
#backstageButton a {background:none; color:[[ColorPalette::Background]]; border:none;}
#backstageButton a:hover {background:[[ColorPalette::Foreground]]; color:[[ColorPalette::Background]]; border:none;}
#backstagePanel {background:[[ColorPalette::Background]]; border-color: [[ColorPalette::Background]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]] [[ColorPalette::TertiaryDark]];}
.backstagePanelFooter .button {border:none; color:[[ColorPalette::Background]];}
.backstagePanelFooter .button:hover {color:[[ColorPalette::Foreground]];}
#backstageCloak {background:[[ColorPalette::Foreground]]; opacity:0.6; filter:'alpha(opacity:60)';}
/*}}}*/
/*{{{*/
* html .tiddler {height:1%;}

body {font-size:.75em; font-family:arial,helvetica; margin:0; padding:0;}

h1,h2,h3,h4,h5,h6 {font-weight:bold; text-decoration:none;}
h1,h2,h3 {padding-bottom:1px; margin-top:1.2em;margin-bottom:0.3em;}
h4,h5,h6 {margin-top:1em;}
h1 {font-size:1.35em;}
h2 {font-size:1.25em;}
h3 {font-size:1.1em;}
h4 {font-size:1em;}
h5 {font-size:.9em;}

hr {height:1px;}

a {text-decoration:none;}

dt {font-weight:bold;}

ol {list-style-type:decimal;}
ol ol {list-style-type:lower-alpha;}
ol ol ol {list-style-type:lower-roman;}
ol ol ol ol {list-style-type:decimal;}
ol ol ol ol ol {list-style-type:lower-alpha;}
ol ol ol ol ol ol {list-style-type:lower-roman;}
ol ol ol ol ol ol ol {list-style-type:decimal;}

.txtOptionInput {width:11em;}

#contentWrapper .chkOptionInput {border:0;}

.externalLink {text-decoration:underline;}

.indent {margin-left:3em;}
.outdent {margin-left:3em; text-indent:-3em;}
code.escaped {white-space:nowrap;}

.tiddlyLinkExisting {font-weight:bold;}
.tiddlyLinkNonExisting {font-style:italic;}

/* the 'a' is required for IE, otherwise it renders the whole tiddler in bold */
a.tiddlyLinkNonExisting.shadow {font-weight:bold;}

#mainMenu .tiddlyLinkExisting,
	#mainMenu .tiddlyLinkNonExisting,
	#sidebarTabs .tiddlyLinkNonExisting {font-weight:normal; font-style:normal;}
#sidebarTabs .tiddlyLinkExisting {font-weight:bold; font-style:normal;}

.header {position:relative;}
.header a:hover {background:transparent;}
.headerShadow {position:relative; padding:4.5em 0em 1em 1em; left:-1px; top:-1px;}
.headerForeground {position:absolute; padding:4.5em 0em 1em 1em; left:0px; top:0px;}

.siteTitle {font-size:3em;}
.siteSubtitle {font-size:1.2em;}

#mainMenu {position:absolute; left:0; width:10em; text-align:right; line-height:1.6em; padding:1.5em 0.5em 0.5em 0.5em; font-size:1.1em;}

#sidebar {position:absolute; right:3px; width:16em; font-size:.9em;}
#sidebarOptions {padding-top:0.3em;}
#sidebarOptions a {margin:0em 0.2em; padding:0.2em 0.3em; display:block;}
#sidebarOptions input {margin:0.4em 0.5em;}
#sidebarOptions .sliderPanel {margin-left:1em; padding:0.5em; font-size:.85em;}
#sidebarOptions .sliderPanel a {font-weight:bold; display:inline; padding:0;}
#sidebarOptions .sliderPanel input {margin:0 0 .3em 0;}
#sidebarTabs .tabContents {width:15em; overflow:hidden;}

.wizard {padding:0.1em 1em 0em 2em;}
.wizard h1 {font-size:2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizard h2 {font-size:1.2em; font-weight:bold; background:none; padding:0em 0em 0em 0em; margin:0.4em 0em 0.2em 0em;}
.wizardStep {padding:1em 1em 1em 1em;}
.wizard .button {margin:0.5em 0em 0em 0em; font-size:1.2em;}
.wizardFooter {padding:0.8em 0.4em 0.8em 0em;}
.wizardFooter .status {padding:0em 0.4em 0em 0.4em; margin-left:1em;}
.wizard .button {padding:0.1em 0.2em 0.1em 0.2em;}

#messageArea {position:fixed; top:2em; right:0em; margin:0.5em; padding:0.5em; z-index:2000; _position:absolute;}
.messageToolbar {display:block; text-align:right; padding:0.2em 0.2em 0.2em 0.2em;}
#messageArea a {text-decoration:underline;}

.tiddlerPopupButton {padding:0.2em 0.2em 0.2em 0.2em;}
.popupTiddler {position: absolute; z-index:300; padding:1em 1em 1em 1em; margin:0;}

.popup {position:absolute; z-index:300; font-size:.9em; padding:0; list-style:none; margin:0;}
.popup .popupMessage {padding:0.4em;}
.popup hr {display:block; height:1px; width:auto; padding:0; margin:0.2em 0em;}
.popup li.disabled {padding:0.4em;}
.popup li a {display:block; padding:0.4em; font-weight:normal; cursor:pointer;}
.listBreak {font-size:1px; line-height:1px;}
.listBreak div {margin:2px 0;}

.tabset {padding:1em 0em 0em 0.5em;}
.tab {margin:0em 0em 0em 0.25em; padding:2px;}
.tabContents {padding:0.5em;}
.tabContents ul, .tabContents ol {margin:0; padding:0;}
.txtMainTab .tabContents li {list-style:none;}
.tabContents li.listLink { margin-left:.75em;}

#contentWrapper {display:block;}
#splashScreen {display:none;}

#displayArea {margin:1em 17em 0em 14em;}

.toolbar {text-align:right; font-size:.9em;}

.tiddler {padding:1em 1em 0em 1em;}

.missing .viewer,.missing .title {font-style:italic;}

.title {font-size:1.6em; font-weight:bold;}

.missing .subtitle {display:none;}
.subtitle {font-size:1.1em;}

.tiddler .button {padding:0.2em 0.4em;}

.tagging {margin:0.5em 0.5em 0.5em 0; float:left; display:none;}
.isTag .tagging {display:block;}
.tagged {margin:0.5em; float:right;}
.tagging, .tagged {font-size:0.9em; padding:0.25em;}
.tagging ul, .tagged ul {list-style:none; margin:0.25em; padding:0;}
.tagClear {clear:both;}

.footer {font-size:.9em;}
.footer li {display:inline;}

.annotation {padding:0.5em; margin:0.5em;}

* html .viewer pre {width:99%; padding:0 0 1em 0;}
.viewer {line-height:1.4em; padding-top:0.5em;}
.viewer .button {margin:0em 0.25em; padding:0em 0.25em;}
.viewer blockquote {line-height:1.5em; padding-left:0.8em;margin-left:2.5em;}
.viewer ul, .viewer ol {margin-left:0.5em; padding-left:1.5em;}

.viewer table, table.twtable {border-collapse:collapse; margin:0.8em 1.0em;}
.viewer th, .viewer td, .viewer tr,.viewer caption,.twtable th, .twtable td, .twtable tr,.twtable caption {padding:3px;}
table.listView {font-size:0.85em; margin:0.8em 1.0em;}
table.listView th, table.listView td, table.listView tr {padding:0px 3px 0px 3px;}

.viewer pre {padding:0.5em; margin-left:0.5em; font-size:1.2em; line-height:1.4em; overflow:auto;}
.viewer code {font-size:1.2em; line-height:1.4em;}

.editor {font-size:1.1em;}
.editor input, .editor textarea {display:block; width:100%; font:inherit;}
.editorFooter {padding:0.25em 0em; font-size:.9em;}
.editorFooter .button {padding-top:0px; padding-bottom:0px;}

.fieldsetFix {border:0; padding:0; margin:1px 0px 1px 0px;}

.sparkline {line-height:1em;}
.sparktick {outline:0;}

.zoomer {font-size:1.1em; position:absolute; overflow:hidden;}
.zoomer div {padding:1em;}

* html #backstage {width:99%;}
* html #backstageArea {width:99%;}
#backstageArea {display:none; position:relative; overflow: hidden; z-index:150; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageToolbar {position:relative;}
#backstageArea a {font-weight:bold; margin-left:0.5em; padding:0.3em 0.5em 0.3em 0.5em;}
#backstageButton {display:none; position:absolute; z-index:175; top:0em; right:0em;}
#backstageButton a {padding:0.1em 0.4em 0.1em 0.4em; margin:0.1em 0.1em 0.1em 0.1em;}
#backstage {position:relative; width:100%; z-index:50;}
#backstagePanel {display:none; z-index:100; position:absolute; margin:0em 3em 0em 3em; padding:1em 1em 1em 1em;}
.backstagePanelFooter {padding-top:0.2em; float:right;}
.backstagePanelFooter a {padding:0.2em 0.4em 0.2em 0.4em;}
#backstageCloak {display:none; z-index:20; position:absolute; width:100%; height:100px;}

.whenBackstage {display:none;}
.backstageVisible .whenBackstage {display:block;}
/*}}}*/
/***
StyleSheet for use when a translation requires any css style changes.
This StyleSheet can be used directly by languages such as Chinese, Japanese and Korean which need larger font sizes.
***/
/*{{{*/
body {font-size:0.8em;}
#sidebarOptions {font-size:1.05em;}
#sidebarOptions a {font-style:normal;}
#sidebarOptions .sliderPanel {font-size:0.95em;}
.subtitle {font-size:0.8em;}
.viewer table.listView {font-size:0.95em;}
/*}}}*/
/*{{{*/
@media print {
#mainMenu, #sidebar, #messageArea, .toolbar, #backstageButton, #backstageArea {display: none ! important;}
#displayArea {margin: 1em 1em 0em 1em;}
/* Fixes a feature in Firefox 1.5.0.2 where print preview displays the noscript content */
noscript {display:none;}
}
/*}}}*/
<!--{{{-->
<div class='header' macro='gradient vert [[ColorPalette::PrimaryLight]] [[ColorPalette::PrimaryMid]]'>
<div class='headerShadow'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
<div class='headerForeground'>
<span class='siteTitle' refresh='content' tiddler='SiteTitle'></span>&nbsp;
<span class='siteSubtitle' refresh='content' tiddler='SiteSubtitle'></span>
</div>
</div>
<div id='mainMenu' refresh='content' tiddler='MainMenu'></div>
<div id='sidebar'>
<div id='sidebarOptions' refresh='content' tiddler='SideBarOptions'></div>
<div id='sidebarTabs' refresh='content' force='true' tiddler='SideBarTabs'></div>
</div>
<div id='displayArea'>
<div id='messageArea'></div>
<div id='tiddlerDisplay'></div>
</div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::ViewToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='subtitle'><span macro='view modifier link'></span>, <span macro='view modified date'></span> (<span macro='message views.wikified.createdPrompt'></span> <span macro='view created date'></span>)</div>
<div class='tagging' macro='tagging'></div>
<div class='tagged' macro='tags'></div>
<div class='viewer' macro='view text wikified'></div>
<div class='tagClear'></div>
<!--}}}-->
<!--{{{-->
<div class='toolbar' macro='toolbar [[ToolbarCommands::EditToolbar]]'></div>
<div class='title' macro='view title'></div>
<div class='editor' macro='edit title'></div>
<div macro='annotations'></div>
<div class='editor' macro='edit text'></div>
<div class='editor' macro='edit tags'></div><div class='editorFooter'><span macro='message views.editor.tagPrompt'></span><span macro='tagChooser'></span></div>
<!--}}}-->
To get started with this blank TiddlyWiki, you'll need to modify the following tiddlers:
* SiteTitle & SiteSubtitle: The title and subtitle of the site, as shown above (after saving, they will also appear in the browser title bar)
* MainMenu: The menu (usually on the left)
* DefaultTiddlers: Contains the names of the tiddlers that you want to appear when the TiddlyWiki is opened
You'll also need to enter your username for signing your edits: <<option txtUserName>>
These InterfaceOptions for customising TiddlyWiki are saved in your browser

Your username for signing your edits. Write it as a WikiWord (eg JoeBloggs)

<<option txtUserName>>
<<option chkSaveBackups>> SaveBackups
<<option chkAutoSave>> AutoSave
<<option chkRegExpSearch>> RegExpSearch
<<option chkCaseSensitiveSearch>> CaseSensitiveSearch
<<option chkAnimate>> EnableAnimations

----
Also see AdvancedOptions
<<importTiddlers>>
|''Type:''|file|
|''URL:''|http://khv.serversidewiki.com/|
|''Workspace:''|(default)|

This tiddler was automatically created to record the details of this server
*攝影藝術的教材為[[複製真實]]一書。從教材中我們針對藝術性、理論性的討論議題來作上課進度。
*另外我們也有實作、創作的部份。要求同學以交作品來打成績。
*本課程打成績的部份為:一、期中考、期末考。二、作品。三、寫心得資料報告。
*@@color(#cc0000):心得報告為:蒐索研究[[網站連結]]網頁中作品,寫出一篇2000字的觀察心得。必須專注在一個題目、系列作品、作者、風格、技巧等等。專精的蒐集整理分析。圖片收集作為課堂power point解說,文字報告交給我。@@(注意觸及裸體問題)
*本學期作品項目為:
(一)拼貼。拼貼雜誌影像,主題為:新世界。
(二)以心得報告中的研究,模仿拍出一組(5張)得意照片。
(三)[[我拍我自己]]。請多多記錄與表演出一個多面向的你,並將照片放在網上。
(四)光畫一組(5張)。
*攝影視覺創意強調作品創作,本課程希望同學可以從每一週的實際例子中得到啟發,並增加創意。當然作品檢討也針對藝術性、理論性進行討論。
*本課程打成績的部份為:一、上課實際練習作品。二、學期作品。
*@@color(#cc0000):本課程教材相當豐富,幾乎可以上兩學期,而且每一樣都必須做出,因此幾乎每一週都有作業。@@
*內容包括:@@color(green):[[大衛哈克尼變形空間拼貼]]。地景空間。豐富的視窗空間。畫中剪影。反地心引力漂浮。@@等等
章光和   Kuang Ho Chang
紐約大學藝術碩士,N.Y.U. Master of Art
世新大學圖文傳播數位出版學系 副教授
Shih Hsin University associated professor

教授攝影藝術、電腦影像處理、電腦平面設計、繪圖
teach art photography, computer graphics, design
Flash設計:
http://www.fluid.nl/  最眩的視覺設計,最棒的作品
http://grupow.com/circulo/此亦眩也
http://www.moccusite.com/start.php
http://www.fluorescenthill.com/FH_web.html
http://www.ndddesign.com/
http://www.sonia.plus.com/luisandsonia2001/

版面與互動:
http://www.smashingideas.com/work/category/
http://www.gigue.com/
http://www.bigli.be/
http://www.flexxe.com/簡單
http://www.carldekeyzer.com/
http://www.hipatrip.com/互動簡捷
http://www.showstudio.com/projects/dressmeupdressmedown/服裝設計
http://www.pearsundesigns.com/畫廊掛鉤
http://www.esao.net/index.html個人畫作
http://www.4screen.net/prv-4s/4screen.html台灣公司
http://ms.nintendo-europe.com/gameboyadvancesp/任天堂
http://www.coca-cola.com/template1/index.jsp?locale=en_US可口可樂超大網站
http://www.waldomartinez.com.ar/waldomartinez.htm個人插畫
http://www.abnormalbehaviorchild.com/video_test/start.swf特效佳、眩
http://www.luvgalz.com/好眩設計
http://www.webtemplatesbox.com/webdesign-templates.html?category=1網路版型出售
http://www.fivestone.com/

√詩與Flash的藝術:
http://www.bornmagazine.org/mother.html

Flash動畫:
http://www.pixhell.de/animationen.html
http://www.craigfrazier.com/animation.html
http://www.squarepig.tv/pigtales.html
http://www.yougrowgirl.com/play/kitchen.html
http://goultralightsgo.com/naoki/adieu/
http://goultralightsgo.com/index.html
http://www.mudbubble.com/portfolio/
http://bemboszoo.com/字母動畫
http://www.myballoonhead.com/storymach.html故事製造機
http://www.myballoonhead.com/home.html
http://www.jijzijn.nl/插畫

動畫廣告:
http://www.d-kitchen.com/
http://www.hillmancurtis.com/hc_web/web_motion.shtml
http://www.smashingideas.com/work/category/
http://juxtinteractive.com/

互動程式:
http://processing.org/
我們開始吧!
陽光!合作!幸福!
!Welcome to 章光和的[[暗房終結者]]
這是一個有關攝影、藝術、影像處理、平面設計、電腦繪圖的個人理論網頁。
我有幾個其他網站或部落格都叫做暗房終結者:
http://fotologue.jp/khv1958

http://sites.google.com/site/khv1958/
!!!The content 目錄
We'll be studying the following topics: 
* [[MyBooks我的著作]] - ''在台灣與大陸出版的有關影像、攝影、設計、繪圖等書籍''
* [[My Works 作品集]] - ''我的一些攝影與繪圖的影像''
* [[攝影藝術理論]]
*(HDR高能範圍曝光)主要是為了要在曝光情況相當難以取捨的情況下才使用。例如:亮部(天空、亮燈)與暗部(逆光的建築、屋子內部、逆光景物)在正常曝光下,相差三、五格以上。如此正常的底片或是數位影像無法一次拍到各部位漂亮的層次與細節,就必須要使用(HDR高能範圍曝光)技術來克服。
*(HDR高能範圍曝光)主要是應用多張(五到七張)針對同一景象做包圍曝光的照片,將它們取其精彩正確曝光的部位,疊合而成的技術。
*在拍攝時如果以ROW檔拍攝,則可以進入photoshop分成三、五張不同曝光的影像,再進行(HDR高能範圍曝光)技術加以合成。如此就可以不用腳架,每拍一張都可以預期進入(HDR高能範圍曝光)修正。
*但是,更好的效果應該是使用腳架,包圍曝光七張。再進行(HDR高能範圍曝光)合併。
*使用(HDR高能範圍曝光)後的照片看起來都有一些像是在陰天拍攝然後加強色彩的感覺。因此除非必要,否則根本不用多此一舉使用(HDR高能範圍曝光)。一般一張正常照片,事後應用電腦修飾一下大部份都可彌補任何拍攝不足的缺陷,例如:明暗變化、色彩、反差等。
*使用(HDR高能範圍曝光)絕對不能多此一舉,做不必要的力氣浪費。(HDR高能範圍曝光)是為了要增加各部位的明暗細節。
*(HDR高能範圍曝光)最好拍攝:(一)天空精彩但逆光的建築。(二)室內燈光明亮但是無法照明每一細節。(三)室內與窗外反差太強。陰天天空與建築不容易一次拍出反差與色彩。
*
! Header Samples
!Header 1 中文測試
!!Header 2 中文測試
!!!Header 3 中文測試
!!!!Header 4 中文測試
!!!!!Header 5 中文測試
中文測試中文測試中文測試中文測試中文測試中文測試中文測試中文測試中文測試中文測試中文測試中文測試
! Unordered Lists:大小秩序
* Lists are where it's at一顆星
* Just use an asterisk and you're set1顆星
** To nest lists just add more asterisks...2顆星
***...like this3顆星
***3科星
* The circle makes a great bullet because once you've printed a list you can mark off completed items
* You can also nest mixed list types
## Like this兩個井字
##兩個井字
! Other Formatting
''Bold''
==Strike==
__Underline__
//Italic//
Superscript: 2^^3^^=8
Subscript: a~~ij~~ = -a~~ji~~
@@highlight@@ Unfortunately highlighting is broken right now.
@@color(green):green colored@@
@@color(#fc9):color #fc9@@
@@bgcolor(#f00):color(#fff):red colored@@ Hex colors are also broken right now.
/***
|''Name:''|LoadRemoteFileThroughProxy (previous LoadRemoteFileHijack)|
|''Description:''|When the TiddlyWiki file is located on the web (view over http) the content of [[SiteProxy]] tiddler is added in front of the file url. If [[SiteProxy]] does not exist "/proxy/" is added. |
|''Version:''|1.1.0|
|''Date:''|mar 17, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#LoadRemoteFileHijack|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0|
***/
//{{{
version.extensions.LoadRemoteFileThroughProxy = {
 major: 1, minor: 1, revision: 0, 
 date: new Date("mar 17, 2007"), 
 source: "http://tiddlywiki.bidix.info/#LoadRemoteFileThroughProxy"};

if (!window.bidix) window.bidix = {}; // bidix namespace
if (!bidix.core) bidix.core = {};

bidix.core.loadRemoteFile = loadRemoteFile;
loadRemoteFile = function(url,callback,params)
{
 if ((document.location.toString().substr(0,4) == "http") && (url.substr(0,4) == "http")){ 
  url = store.getTiddlerText("SiteProxy", "/proxy/") + url;
 }
 return bidix.core.loadRemoteFile(url,callback,params);
}
//}}}
[[ABOUT ME]]
MainMenu
----
[[MyBooks我的著作]]
[[My Works 作品集]]
[[攝影藝術理論]]
----
[[學校教學.作業]]
[[與我連絡]]
[[網站連結]]
作品在此
http://khv.shu.edu.tw/main.html 
http://fotologue.jp/khv1958/
參加展覽
http://www.pip.org.cn/zw/zpzs/05zp/lz/225742.shtml 平遙國際攝影展作品
http://www.pip.org.cn/zw/symj/225734.shtml
http://picasaweb.google.com.tw/khv1958/aawAAI#  2008平遙攝影展點滴記錄
http://www.tfam.museum/12_OnlineMedia/Default.aspx?PKID=3台北市立美術館典藏語音
http://www.tfam.museum/SysUpDoc/FTP/Upfiles/Podcast/stilllife/%B3%B9%A5%FA%A9M.mp4
----
*[[展覽資歷]]
*[[對時間觀念的挑戰]]----論章光和 89年博物館系列作品
*[[直接攝影與非直接攝影]]----博物館系列創作方法
*[[數位人體美學]]-----作品敘述
*[[TVBS裡的作品介紹]]
I wrote many books about computer image-processing and painting. Also I wrote a few books about photographic theory.
!!我的著作包括:
*[[暗房終結者]](1994)
*[[複製真實]](2000)
*[[住在巴特、宋妲、班雅明的照片裡]](2003)
*[[攝影不是藝術]](2005)
*[[數位人體攝影學]]......數位人體造像(1999)
*[[虛擬天堂|http://goods.ruten.com.tw/item/qa?11080815422798]]@@color(brown):-Bryce 3D(1998).....a 3D computer graphic book@@
*光速合成@@color(#cc0000):-LivePicture(1996)..a computer images book@@
*[[繪畫終結者|http://www.sanmin.com.tw/page-product.asp?pf_id=000226600]]@@color(red):-Painter4(1996)...a 2D computer graphic book@@
*[[Painter 3 BIBLE|http://findbook.tw/book/9789579984089/price]]@@color(#ff6600):(1995).............a 2D computer graphic book@@
----
中國大陸的出版:
*@@color(#9933ff):√[[住在巴特、桑塔格、本雅明的照片裡]](2004)(大陸簡體版)  廣西師範大學出版社@@
All rights reserved.®
這是我觀察的點滴,我覺得人生學習階段需要這一些些認識。
about design, photography, and art by 章光和  http://sites.google.com/site/khv1958/
暗房終結者
DarkRoom Terminator
這一篇是在TVBS裡的作品介紹

    從攝影出發,但是卻是一直以反攝影或是非攝影的做法,從事攝影創作,這就是影像創作者章光和一貫的作風。最近在國立歷史博物館「2003千禧之愛,兩岸攝影名家聯展」中,他展出的數位人文美學攝影系列作品,引起不少爭議,或認為此系列作品是以電腦影像虛擬繪圖而成,在攝影藝術範疇似乎太過前衛基進。

    攝影發展160多年來,由大相機到小相機,由黑白到彩色,由底片到數位,這是一個演化的進程,將來進入虛擬影像,這是自然而沒有衝突的。看看現代人迷戀網路的情況就可以了解,短短的幾年間網路遊戲也有犯罪,所以將來數位化的影像科技將會相當普遍,虛擬的電腦繪圖就會像現在的數位相機一般,又便宜又方便。居於這一想法,章光和創作出數位人文美學攝影系列作品,以個人電腦、最普通的軟體,企圖透過西洋古典人體美學,結合動物與大自然場景,希望可以建立起一種數位時代虛擬影像的古典人文氣質,使得生冷而介於人類與環境之間的影像,可以變得多出了很人性化的特色(因為一般的電腦繪圖影像都發亮的、假假的)。

    這一系列的作品裡不論是人體與馬匹徜徉在大地草原,或是舞蹈般的姿態,或是儀式行為的動作,都企圖表現出一種考古學人類學的氣息。這種氣息其實是透過優雅的西洋古典繪畫裡的人體姿態,加上空曠的大地(它代表萬物起源之母)與神秘的光線(具有一種繪畫性的特質)所共同醞釀出來的。人體與海豚或馬匹在水裡面優游互動的場景,是故意讓人與動物之間建立起一種相當親密而難得的緊密關係,這種自然而親切的畫面充份的表現出東方哲學天人合一,萬物一體的最高境界,而這也是這一次展覽裡人文思想裡頭探討的一個目標。水就如同大地一樣它孕育了人類,而作品裡水中的人物絲毫沒有恐懼、驚嚇、危險的表情,反而呈現出一種心曠神怡,寧靜安詳的神秘氣息,像是舞蹈、冥想或是靜思,這是人們在此時地球環境保護危機當中最值得深思熟慮與盼望的。人類難道不希望生存環境可以更加安全祥和嗎?畫面裡的人與環境和動物的對話是一種生命的理想,是你我的理想也是全人類的理想。透過看見這樣的一種影像情境,我們的內心似乎對於人的未來依然有所憧憬。

    1989年紐約大學(NYU)攝影碩士學成後,章光和以藝術的背景,從傳統攝影的本質,進入到電腦化時代的虛擬影像,透過理論與創作以「暗房終結者」一書大膽的挑戰傳統攝影,同時他無相機的「植物誌」攝影作品,也受到省美館與北美館的珍藏。接著以「複製真實」一書從事反攝影或非攝影的理論創作,認為數位攝影與傳統攝影相輔相成,並不相互衝突。想想看,到最後所有影像都要數位化成為印刷品或是媒體,供觀眾欣賞不是嗎?到最後最重要的不是使用什麼技巧,或是遵守什麼標準成規,而是當觀眾看到影像時,他的理解是什麼。就如同160多年來攝影從發明到發展,一直有新的技巧出現一樣,數位攝影只是這個時代的一種新的技巧與形式。章光和的數位人文美學攝影系列作品,就是企圖在這個新的數位攝影技巧中建立出一個美學的領域,讓日後愈形普遍的電腦繪圖與影像處理有一個立基向前邁進。
/***
Contains the stuff you need to use Tiddlyspot
Note you must also have UploadPlugin installed
***/
//{{{

// edit this if you are migrating sites or retrofitting an existing TW
config.tiddlyspotSiteId = 'khv';

// make it so you can by default see edit controls via http
config.options.chkHttpReadOnly = false;
window.readOnly = false; // make sure of it (for tw 2.2)
window.showBackstage = true; // show backstage too

// disable autosave in d3
if (window.location.protocol != "file:")
	config.options.chkGTDLazyAutoSave = false;

// tweak shadow tiddlers to add upload button, password entry box etc
with (config.shadowTiddlers) {
	SiteUrl = 'http://'+config.tiddlyspotSiteId+'.tiddlyspot.com';
	SideBarOptions = SideBarOptions.replace(/(<<saveChanges>>)/,"$1<<tiddler TspotSidebar>>");
	OptionsPanel = OptionsPanel.replace(/^/,"<<tiddler TspotOptions>>");
	DefaultTiddlers = DefaultTiddlers.replace(/^/,"[[WelcomeToTiddlyspot]] ");
	MainMenu = MainMenu.replace(/^/,"[[WelcomeToTiddlyspot]] ");
}

// create some shadow tiddler content
merge(config.shadowTiddlers,{

'WelcomeToTiddlyspot':[
 "This document is a ~TiddlyWiki from tiddlyspot.com.  A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //What now?// &nbsp;&nbsp;@@ Before you can save any changes, you need to enter your password in the form below.  Then configure privacy and other site settings at your [[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]] (your control panel username is //" + config.tiddlyspotSiteId + "//).",
 "<<tiddler TspotControls>>",
 "See also GettingStarted.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working online// &nbsp;&nbsp;@@ You can edit this ~TiddlyWiki right now, and save your changes using the \"save to web\" button in the column on the right.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// &nbsp;&nbsp;@@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick.  You can make changes and save them locally without being connected to the Internet.  When you're ready to sync up again, just click \"upload\" and your ~TiddlyWiki will be saved back to tiddlyspot.com.",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Help!// &nbsp;&nbsp;@@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]].  Also visit [[TiddlyWiki.org|http://tiddlywiki.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help.  If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].",
 "",
 "@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// &nbsp;&nbsp;@@ We hope you like using your tiddlyspot.com site.  Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions."
].join("\n"),

'TspotControls':[
 "| tiddlyspot password:|<<option pasUploadPassword>>|",
 "| site management:|<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">>//(requires tiddlyspot password)//<br>[[control panel|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/controlpanel]], [[download (go offline)|http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download]]|",
 "| links:|[[tiddlyspot.com|http://tiddlyspot.com/]], [[FAQs|http://faq.tiddlyspot.com/]], [[blog|http://tiddlyspot.blogspot.com/]], email [[support|mailto:support@tiddlyspot.com]] & [[feedback|mailto:feedback@tiddlyspot.com]], [[donate|http://tiddlyspot.com/?page=donate]]|"
].join("\n"),

'TspotSidebar':[
 "<<upload http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/store.cgi index.html . .  " + config.tiddlyspotSiteId + ">><html><a href='http://" + config.tiddlyspotSiteId + ".tiddlyspot.com/download' class='button'>download</a></html>"
].join("\n"),

'TspotOptions':[
 "tiddlyspot password:",
 "<<option pasUploadPassword>>",
 ""
].join("\n")

});
//}}}
| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |
| 15/12/2008 13:01:01 | 光和 | [[/|http://khv.tiddlyspot.com/]] | [[store.cgi|http://khv.tiddlyspot.com/store.cgi]] | . | [[index.html | http://khv.tiddlyspot.com/index.html]] | . |
| 16/12/2008 10:25:01 | 光和 | [[/|http://khv.tiddlyspot.com/]] | [[store.cgi|http://khv.tiddlyspot.com/store.cgi]] | . | [[index.html | http://khv.tiddlyspot.com/index.html]] | . |
| 23/12/2008 13:00:13 | 光和 | [[/|http://khv.tiddlyspot.com/]] | [[store.cgi|http://khv.tiddlyspot.com/store.cgi]] | . | [[index.html | http://khv.tiddlyspot.com/index.html]] | . |
| 24/12/2008 13:23:52 | 光和 | [[/|http://khv.tiddlyspot.com/]] | [[store.cgi|http://khv.tiddlyspot.com/store.cgi]] | . | [[index.html | http://khv.tiddlyspot.com/index.html]] | . |
| 24/12/2008 13:25:14 | 光和 | [[/|http://khv.tiddlyspot.com/]] | [[store.cgi|http://khv.tiddlyspot.com/store.cgi]] | . | [[index.html | http://khv.tiddlyspot.com/index.html]] | . | ok |
| 24/12/2008 13:28:12 | 光和 | [[/|http://khv.tiddlyspot.com/]] | [[store.cgi|http://khv.tiddlyspot.com/store.cgi]] | . | [[index.html | http://khv.tiddlyspot.com/index.html]] | . |
| 24/12/2008 13:33:56 | 光和 | [[/|http://khv.tiddlyspot.com/]] | [[store.cgi|http://khv.tiddlyspot.com/store.cgi]] | . | [[index.html | http://khv.tiddlyspot.com/index.html]] | . |
| 31/12/2008 19:28:05 | YourName | [[/|http://khv.tiddlyspot.com/]] | [[store.cgi|http://khv.tiddlyspot.com/store.cgi]] | . | [[index.html | http://khv.tiddlyspot.com/index.html]] | . |
| 01/01/2009 22:53:14 | 光和 | [[/|http://khv.tiddlyspot.com/]] | [[store.cgi|http://khv.tiddlyspot.com/store.cgi]] | . | [[index.html | http://khv.tiddlyspot.com/index.html]] | . |
| 03/01/2009 17:36:55 | 光和 | [[/|http://khv.tiddlyspot.com/]] | [[store.cgi|http://khv.tiddlyspot.com/store.cgi]] | . | [[index.html | http://khv.tiddlyspot.com/index.html]] | . |
/***
|''Name:''|PasswordOptionPlugin|
|''Description:''|Extends TiddlyWiki options with non encrypted password option.|
|''Version:''|1.0.2|
|''Date:''|Apr 19, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#PasswordOptionPlugin|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (Beta 5)|
***/
//{{{
version.extensions.PasswordOptionPlugin = {
	major: 1, minor: 0, revision: 2, 
	date: new Date("Apr 19, 2007"),
	source: 'http://tiddlywiki.bidix.info/#PasswordOptionPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	license: '[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D]]',
	coreVersion: '2.2.0 (Beta 5)'
};

config.macros.option.passwordCheckboxLabel = "Save this password on this computer";
config.macros.option.passwordInputType = "password"; // password | text
setStylesheet(".pasOptionInput {width: 11em;}\n","passwordInputTypeStyle");

merge(config.macros.option.types, {
	'pas': {
		elementType: "input",
		valueField: "value",
		eventName: "onkeyup",
		className: "pasOptionInput",
		typeValue: config.macros.option.passwordInputType,
		create: function(place,type,opt,className,desc) {
			// password field
			config.macros.option.genericCreate(place,'pas',opt,className,desc);
			// checkbox linked with this password "save this password on this computer"
			config.macros.option.genericCreate(place,'chk','chk'+opt,className,desc);			
			// text savePasswordCheckboxLabel
			place.appendChild(document.createTextNode(config.macros.option.passwordCheckboxLabel));
		},
		onChange: config.macros.option.genericOnChange
	}
});

merge(config.optionHandlers['chk'], {
	get: function(name) {
		// is there an option linked with this chk ?
		var opt = name.substr(3);
		if (config.options[opt]) 
			saveOptionCookie(opt);
		return config.options[name] ? "true" : "false";
	}
});

merge(config.optionHandlers, {
	'pas': {
 		get: function(name) {
			if (config.options["chk"+name]) {
				return encodeCookie(config.options[name].toString());
			} else {
				return "";
			}
		},
		set: function(name,value) {config.options[name] = decodeCookie(value);}
	}
});

// need to reload options to load passwordOptions
loadOptionsCookie();

/*
if (!config.options['pasPassword'])
	config.options['pasPassword'] = '';

merge(config.optionsDesc,{
		pasPassword: "Test password"
	});
*/
//}}}

/***
|''Name:''|UploadPlugin|
|''Description:''|Save to web a TiddlyWiki|
|''Version:''|4.1.0|
|''Date:''|May 5, 2007|
|''Source:''|http://tiddlywiki.bidix.info/#UploadPlugin|
|''Documentation:''|http://tiddlywiki.bidix.info/#UploadPluginDoc|
|''Author:''|BidiX (BidiX (at) bidix (dot) info)|
|''License:''|[[BSD open source license|http://tiddlywiki.bidix.info/#%5B%5BBSD%20open%20source%20license%5D%5D ]]|
|''~CoreVersion:''|2.2.0 (#3125)|
|''Requires:''|PasswordOptionPlugin|
***/
//{{{
version.extensions.UploadPlugin = {
	major: 4, minor: 1, revision: 0,
	date: new Date("May 5, 2007"),
	source: 'http://tiddlywiki.bidix.info/#UploadPlugin',
	author: 'BidiX (BidiX (at) bidix (dot) info',
	coreVersion: '2.2.0 (#3125)'
};

//
// Environment
//

if (!window.bidix) window.bidix = {}; // bidix namespace
bidix.debugMode = false;	// true to activate both in Plugin and UploadService
	
//
// Upload Macro
//

config.macros.upload = {
// default values
	defaultBackupDir: '',	//no backup
	defaultStoreScript: "store.php",
	defaultToFilename: "index.html",
	defaultUploadDir: ".",
	authenticateUser: true	// UploadService Authenticate User
};
	
config.macros.upload.label = {
	promptOption: "Save and Upload this TiddlyWiki with UploadOptions",
	promptParamMacro: "Save and Upload this TiddlyWiki in %0",
	saveLabel: "save to web", 
	saveToDisk: "save to disk",
	uploadLabel: "upload"	
};

config.macros.upload.messages = {
	noStoreUrl: "No store URL in parmeters or options",
	usernameOrPasswordMissing: "Username or password missing"
};

config.macros.upload.handler = function(place,macroName,params) {
	if (readOnly)
		return;
	var label;
	if (document.location.toString().substr(0,4) == "http") 
		label = this.label.saveLabel;
	else
		label = this.label.uploadLabel;
	var prompt;
	if (params[0]) {
		prompt = this.label.promptParamMacro.toString().format([this.destFile(params[0], 
			(params[1] ? params[1]:bidix.basename(window.location.toString())), params[3])]);
	} else {
		prompt = this.label.promptOption;
	}
	createTiddlyButton(place, label, prompt, function() {config.macros.upload.action(params);}, null, null, this.accessKey);
};

config.macros.upload.action = function(params)
{
		// for missing macro parameter set value from options
		var storeUrl = params[0] ? params[0] : config.options.txtUploadStoreUrl;
		var toFilename = params[1] ? params[1] : config.options.txtUploadFilename;
		var backupDir = params[2] ? params[2] : config.options.txtUploadBackupDir;
		var uploadDir = params[3] ? params[3] : config.options.txtUploadDir;
		var username = params[4] ? params[4] : config.options.txtUploadUserName;
		var password = config.options.pasUploadPassword; // for security reason no password as macro parameter	
		// for still missing parameter set default value
		if ((!storeUrl) && (document.location.toString().substr(0,4) == "http")) 
			storeUrl = bidix.dirname(document.location.toString())+'/'+config.macros.upload.defaultStoreScript;
		if (storeUrl.substr(0,4) != "http")
			storeUrl = bidix.dirname(document.location.toString()) +'/'+ storeUrl;
		if (!toFilename)
			toFilename = bidix.basename(window.location.toString());
		if (!toFilename)
			toFilename = config.macros.upload.defaultToFilename;
		if (!uploadDir)
			uploadDir = config.macros.upload.defaultUploadDir;
		if (!backupDir)
			backupDir = config.macros.upload.defaultBackupDir;
		// report error if still missing
		if (!storeUrl) {
			alert(config.macros.upload.messages.noStoreUrl);
			clearMessage();
			return false;
		}
		if (config.macros.upload.authenticateUser && (!username || !password)) {
			alert(config.macros.upload.messages.usernameOrPasswordMissing);
			clearMessage();
			return false;
		}
		bidix.upload.uploadChanges(false,null,storeUrl, toFilename, uploadDir, backupDir, username, password); 
		return false; 
};

config.macros.upload.destFile = function(storeUrl, toFilename, uploadDir) 
{
	if (!storeUrl)
		return null;
		var dest = bidix.dirname(storeUrl);
		if (uploadDir && uploadDir != '.')
			dest = dest + '/' + uploadDir;
		dest = dest + '/' + toFilename;
	return dest;
};

//
// uploadOptions Macro
//

config.macros.uploadOptions = {
	handler: function(place,macroName,params) {
		var wizard = new Wizard();
		wizard.createWizard(place,this.wizardTitle);
		wizard.addStep(this.step1Title,this.step1Html);
		var markList = wizard.getElement("markList");
		var listWrapper = document.createElement("div");
		markList.parentNode.insertBefore(listWrapper,markList);
		wizard.setValue("listWrapper",listWrapper);
		this.refreshOptions(listWrapper,false);
		var uploadCaption;
		if (document.location.toString().substr(0,4) == "http") 
			uploadCaption = config.macros.upload.label.saveLabel;
		else
			uploadCaption = config.macros.upload.label.uploadLabel;
		
		wizard.setButtons([
				{caption: uploadCaption, tooltip: config.macros.upload.label.promptOption, 
					onClick: config.macros.upload.action},
				{caption: this.cancelButton, tooltip: this.cancelButtonPrompt, onClick: this.onCancel}
				
			]);
	},
	refreshOptions: function(listWrapper) {
		var uploadOpts = [
			"txtUploadUserName",
			"pasUploadPassword",
			"txtUploadStoreUrl",
			"txtUploadDir",
			"txtUploadFilename",
			"txtUploadBackupDir",
			"chkUploadLog",
			"txtUploadLogMaxLine",
			]
		var opts = [];
		for(i=0; i<uploadOpts.length; i++) {
			var opt = {};
			opts.push()
			opt.option = "";
			n = uploadOpts[i];
			opt.name = n;
			opt.lowlight = !config.optionsDesc[n];
			opt.description = opt.lowlight ? this.unknownDescription : config.optionsDesc[n];
			opts.push(opt);
		}
		var listview = ListView.create(listWrapper,opts,this.listViewTemplate);
		for(n=0; n<opts.length; n++) {
			var type = opts[n].name.substr(0,3);
			var h = config.macros.option.types[type];
			if (h && h.create) {
				h.create(opts[n].colElements['option'],type,opts[n].name,opts[n].name,"no");
			}
		}
		
	},
	onCancel: function(e)
	{
		backstage.switchTab(null);
		return false;
	},
	
	wizardTitle: "Upload with options",
	step1Title: "These options are saved in cookies in your browser",
	step1Html: "<input type='hidden' name='markList'></input><br>",
	cancelButton: "Cancel",
	cancelButtonPrompt: "Cancel prompt",
	listViewTemplate: {
		columns: [
			{name: 'Description', field: 'description', title: "Description", type: 'WikiText'},
			{name: 'Option', field: 'option', title: "Option", type: 'String'},
			{name: 'Name', field: 'name', title: "Name", type: 'String'}
			],
		rowClasses: [
			{className: 'lowlight', field: 'lowlight'} 
			]}
}

//
// upload functions
//

if (!bidix.upload) bidix.upload = {};

if (!bidix.upload.messages) bidix.upload.messages = {
	//from saving
	invalidFileError: "The original file '%0' does not appear to be a valid TiddlyWiki",
	backupSaved: "Backup saved",
	backupFailed: "Failed to upload backup file",
	rssSaved: "RSS feed uploaded",
	rssFailed: "Failed to upload RSS feed file",
	emptySaved: "Empty template uploaded",
	emptyFailed: "Failed to upload empty template file",
	mainSaved: "Main TiddlyWiki file uploaded",
	mainFailed: "Failed to upload main TiddlyWiki file. Your changes have not been saved",
	//specific upload
	loadOriginalHttpPostError: "Can't get original file",
	aboutToSaveOnHttpPost: 'About to upload on %0 ...',
	storePhpNotFound: "The store script '%0' was not found."
};

bidix.upload.uploadChanges = function(onlyIfDirty,tiddlers,storeUrl,toFilename,uploadDir,backupDir,username,password)
{
	var callback = function(status,uploadParams,original,url,xhr) {
		if (!status) {
			displayMessage(bidix.upload.messages.loadOriginalHttpPostError);
			return;
		}
		if (bidix.debugMode) 
			alert(original.substr(0,500)+"\n...");
		// Locate the storeArea div's 
		var posDiv = locateStoreArea(original);
		if((posDiv[0] == -1) || (posDiv[1] == -1)) {
			alert(config.messages.invalidFileError.format([localPath]));
			return;
		}
		bidix.upload.uploadRss(uploadParams,original,posDiv);
	};
	
	if(onlyIfDirty && !store.isDirty())
		return;
	clearMessage();
	// save on localdisk ?
	if (document.location.toString().substr(0,4) == "file") {
		var path = document.location.toString();
		var localPath = getLocalPath(path);
		saveChanges();
	}
	// get original
	var uploadParams = Array(storeUrl,toFilename,uploadDir,backupDir,username,password);
	var originalPath = document.location.toString();
	// If url is a directory : add index.html
	if (originalPath.charAt(originalPath.length-1) == "/")
		originalPath = originalPath + "index.html";
	var dest = config.macros.upload.destFile(storeUrl,toFilename,uploadDir);
	var log = new bidix.UploadLog();
	log.startUpload(storeUrl, dest, uploadDir,  backupDir);
	displayMessage(bidix.upload.messages.aboutToSaveOnHttpPost.format([dest]));
	if (bidix.debugMode) 
		alert("about to execute Http - GET on "+originalPath);
	var r = doHttp("GET",originalPath,null,null,null,null,callback,uploadParams,null);
	if (typeof r == "string")
		displayMessage(r);
	return r;
};

bidix.upload.uploadRss = function(uploadParams,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		if(status) {
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
			displayMessage(bidix.upload.messages.rssSaved,bidix.dirname(url)+'/'+destfile);
			bidix.upload.uploadMain(params[0],params[1],params[2]);
		} else {
			displayMessage(bidix.upload.messages.rssFailed);			
		}
	};
	// do uploadRss
	if(config.options.chkGenerateAnRssFeed) {
		var rssPath = uploadParams[1].substr(0,uploadParams[1].lastIndexOf(".")) + ".xml";
		var rssUploadParams = Array(uploadParams[0],rssPath,uploadParams[2],'',uploadParams[4],uploadParams[5]);
		bidix.upload.httpUpload(rssUploadParams,convertUnicodeToUTF8(generateRss()),callback,Array(uploadParams,original,posDiv));
	} else {
		bidix.upload.uploadMain(uploadParams,original,posDiv);
	}
};

bidix.upload.uploadMain = function(uploadParams,original,posDiv) 
{
	var callback = function(status,params,responseText,url,xhr) {
		var log = new bidix.UploadLog();
		if(status) {
			// if backupDir specified
			if ((params[3]) && (responseText.indexOf("backupfile:") > -1))  {
				var backupfile = responseText.substring(responseText.indexOf("backupfile:")+11,responseText.indexOf("\n", responseText.indexOf("backupfile:")));
				displayMessage(bidix.upload.messages.backupSaved,bidix.dirname(url)+'/'+backupfile);
			}
			var destfile = responseText.substring(responseText.indexOf("destfile:")+9,responseText.indexOf("\n", responseText.indexOf("destfile:")));
			displayMessage(bidix.upload.messages.mainSaved,bidix.dirname(url)+'/'+destfile);
			store.setDirty(false);
			log.endUpload("ok");
		} else {
			alert(bidix.upload.messages.mainFailed);
			displayMessage(bidix.upload.messages.mainFailed);
			log.endUpload("failed");			
		}
	};
	// do uploadMain
	var revised = bidix.upload.updateOriginal(original,posDiv);
	bidix.upload.httpUpload(uploadParams,revised,callback,uploadParams);
};

bidix.upload.httpUpload = function(uploadParams,data,callback,params)
{
	var localCallback = function(status,params,responseText,url,xhr) {
		url = (url.indexOf("nocache=") < 0 ? url : url.substring(0,url.indexOf("nocache=")-1));
		if (xhr.status == httpStatus.NotFound)
			alert(bidix.upload.messages.storePhpNotFound.format([url]));
		if ((bidix.debugMode) || (responseText.indexOf("Debug mode") >= 0 )) {
			alert(responseText);
			if (responseText.indexOf("Debug mode") >= 0 )
				responseText = responseText.substring(responseText.indexOf("\n\n")+2);
		} else if (responseText.charAt(0) != '0') 
			alert(responseText);
		if (responseText.charAt(0) != '0')
			status = null;
		callback(status,params,responseText,url,xhr);
	};
	// do httpUpload
	var boundary = "---------------------------"+"AaB03x";	
	var uploadFormName = "UploadPlugin";
	// compose headers data
	var sheader = "";
	sheader += "--" + boundary + "\r\nContent-disposition: form-data; name=\"";
	sheader += uploadFormName +"\"\r\n\r\n";
	sheader += "backupDir="+uploadParams[3] +
				";user=" + uploadParams[4] +
				";password=" + uploadParams[5] +
				";uploaddir=" + uploadParams[2];
	if (bidix.debugMode)
		sheader += ";debug=1";
	sheader += ";;\r\n"; 
	sheader += "\r\n" + "--" + boundary + "\r\n";
	sheader += "Content-disposition: form-data; name=\"userfile\"; filename=\""+uploadParams[1]+"\"\r\n";
	sheader += "Content-Type: text/html;charset=UTF-8" + "\r\n";
	sheader += "Content-Length: " + data.length + "\r\n\r\n";
	// compose trailer data
	var strailer = new String();
	strailer = "\r\n--" + boundary + "--\r\n";
	data = sheader + data + strailer;
	if (bidix.debugMode) alert("about to execute Http - POST on "+uploadParams[0]+"\n with \n"+data.substr(0,500)+ " ... ");
	var r = doHttp("POST",uploadParams[0],data,"multipart/form-data; boundary="+boundary,uploadParams[4],uploadParams[5],localCallback,params,null);
	if (typeof r == "string")
		displayMessage(r);
	return r;
};

// same as Saving's updateOriginal but without convertUnicodeToUTF8 calls
bidix.upload.updateOriginal = function(original, posDiv)
{
	if (!posDiv)
		posDiv = locateStoreArea(original);
	if((posDiv[0] == -1) || (posDiv[1] == -1)) {
		alert(config.messages.invalidFileError.format([localPath]));
		return;
	}
	var revised = original.substr(0,posDiv[0] + startSaveArea.length) + "\n" +
				store.allTiddlersAsHtml() + "\n" +
				original.substr(posDiv[1]);
	var newSiteTitle = getPageTitle().htmlEncode();
	revised = revised.replaceChunk("<title"+">","</title"+">"," " + newSiteTitle + " ");
	revised = updateMarkupBlock(revised,"PRE-HEAD","MarkupPreHead");
	revised = updateMarkupBlock(revised,"POST-HEAD","MarkupPostHead");
	revised = updateMarkupBlock(revised,"PRE-BODY","MarkupPreBody");
	revised = updateMarkupBlock(revised,"POST-SCRIPT","MarkupPostBody");
	return revised;
};

//
// UploadLog
// 
// config.options.chkUploadLog :
//		false : no logging
//		true : logging
// config.options.txtUploadLogMaxLine :
//		-1 : no limit
//      0 :  no Log lines but UploadLog is still in place
//		n :  the last n lines are only kept
//		NaN : no limit (-1)

bidix.UploadLog = function() {
	if (!config.options.chkUploadLog) 
		return; // this.tiddler = null
	this.tiddler = store.getTiddler("UploadLog");
	if (!this.tiddler) {
		this.tiddler = new Tiddler();
		this.tiddler.title = "UploadLog";
		this.tiddler.text = "| !date | !user | !location | !storeUrl | !uploadDir | !toFilename | !backupdir | !origin |";
		this.tiddler.created = new Date();
		this.tiddler.modifier = config.options.txtUserName;
		this.tiddler.modified = new Date();
		store.addTiddler(this.tiddler);
	}
	return this;
};

bidix.UploadLog.prototype.addText = function(text) {
	if (!this.tiddler)
		return;
	// retrieve maxLine when we need it
	var maxLine = parseInt(config.options.txtUploadLogMaxLine,10);
	if (isNaN(maxLine))
		maxLine = -1;
	// add text
	if (maxLine != 0) 
		this.tiddler.text = this.tiddler.text + text;
	// Trunck to maxLine
	if (maxLine >= 0) {
		var textArray = this.tiddler.text.split('\n');
		if (textArray.length > maxLine + 1)
			textArray.splice(1,textArray.length-1-maxLine);
			this.tiddler.text = textArray.join('\n');		
	}
	// update tiddler fields
	this.tiddler.modifier = config.options.txtUserName;
	this.tiddler.modified = new Date();
	store.addTiddler(this.tiddler);
	// refresh and notifiy for immediate update
	story.refreshTiddler(this.tiddler.title);
	store.notify(this.tiddler.title, true);
};

bidix.UploadLog.prototype.startUpload = function(storeUrl, toFilename, uploadDir,  backupDir) {
	if (!this.tiddler)
		return;
	var now = new Date();
	var text = "\n| ";
	var filename = bidix.basename(document.location.toString());
	if (!filename) filename = '/';
	text += now.formatString("0DD/0MM/YYYY 0hh:0mm:0ss") +" | ";
	text += config.options.txtUserName + " | ";
	text += "[["+filename+"|"+location + "]] |";
	text += " [[" + bidix.basename(storeUrl) + "|" + storeUrl + "]] | ";
	text += uploadDir + " | ";
	text += "[[" + bidix.basename(toFilename) + " | " +toFilename + "]] | ";
	text += backupDir + " |";
	this.addText(text);
};

bidix.UploadLog.prototype.endUpload = function(status) {
	if (!this.tiddler)
		return;
	this.addText(" "+status+" |");
};

//
// Utilities
// 

bidix.checkPlugin = function(plugin, major, minor, revision) {
	var ext = version.extensions[plugin];
	if (!
		(ext  && 
			((ext.major > major) || 
			((ext.major == major) && (ext.minor > minor))  ||
			((ext.major == major) && (ext.minor == minor) && (ext.revision >= revision))))) {
			// write error in PluginManager
			if (pluginInfo)
				pluginInfo.log.push("Requires " + plugin + " " + major + "." + minor + "." + revision);
			eval(plugin); // generate an error : "Error: ReferenceError: xxxx is not defined"
	}
};

bidix.dirname = function(filePath) {
	if (!filePath) 
		return;
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(0, lastpos);
	} else {
		return filePath.substring(0, filePath.lastIndexOf("\\"));
	}
};

bidix.basename = function(filePath) {
	if (!filePath) 
		return;
	var lastpos;
	if ((lastpos = filePath.lastIndexOf("#")) != -1) 
		filePath = filePath.substring(0, lastpos);
	if ((lastpos = filePath.lastIndexOf("/")) != -1) {
		return filePath.substring(lastpos + 1);
	} else
		return filePath.substring(filePath.lastIndexOf("\\")+1);
};

bidix.initOption = function(name,value) {
	if (!config.options[name])
		config.options[name] = value;
};

//
// Initializations
//

// require PasswordOptionPlugin 1.0.1 or better
bidix.checkPlugin("PasswordOptionPlugin", 1, 0, 1);

// styleSheet
setStylesheet('.txtUploadStoreUrl, .txtUploadBackupDir, .txtUploadDir {width: 22em;}',"uploadPluginStyles");

//optionsDesc
merge(config.optionsDesc,{
	txtUploadStoreUrl: "Url of the UploadService script (default: store.php)",
	txtUploadFilename: "Filename of the uploaded file (default: in index.html)",
	txtUploadDir: "Relative Directory where to store the file (default: . (downloadService directory))",
	txtUploadBackupDir: "Relative Directory where to backup the file. If empty no backup. (default: ''(empty))",
	txtUploadUserName: "Upload Username",
	pasUploadPassword: "Upload Password",
	chkUploadLog: "do Logging in UploadLog (default: true)",
	txtUploadLogMaxLine: "Maximum of lines in UploadLog (default: 10)"
});

// Options Initializations
bidix.initOption('txtUploadStoreUrl','');
bidix.initOption('txtUploadFilename','');
bidix.initOption('txtUploadDir','');
bidix.initOption('txtUploadBackupDir','');
bidix.initOption('txtUploadUserName','');
bidix.initOption('pasUploadPassword','');
bidix.initOption('chkUploadLog',true);
bidix.initOption('txtUploadLogMaxLine','10');


/* don't want this for tiddlyspot sites

// Backstage
merge(config.tasks,{
	uploadOptions: {text: "upload", tooltip: "Change UploadOptions and Upload", content: '<<uploadOptions>>'}
});
config.backstageTasks.push("uploadOptions");

*/


//}}}
這是一個有關攝影、藝術、影像處理、平面設計、電腦繪圖的個人理論網頁。
我有幾個其他網站或部落格都叫做暗房終結者:
http://fotologue.jp/khv1958
http://sites.google.com/site/khv1958/
* [[MyBooks我的著作]]
* [[My Works 作品集]]
* [[攝影藝術理論]]
Welcome to 章光和的{暗房終結者}
這是一個有關攝影、藝術、影像處理、平面設計、電腦繪圖的個人理論網頁。
我有幾個其他網站或部落格都叫做暗房終結者:
http://fotologue.jp/khv1958
http://sites.google.com/site/khv1958/
* [[MyBooks我的著作]]
* [[My Works 作品集]]
* [[攝影藝術理論]]
This document is a ~TiddlyWiki from tiddlyspot.com.  A ~TiddlyWiki is an electronic notebook that is great for managing todo lists, personal information, and all sorts of things.

@@font-weight:bold;font-size:1.3em;color:#444; //What now?// &nbsp;&nbsp;@@ Before you can save any changes, you need to enter your password in the form below.  Then configure privacy and other site settings at your [[control panel|http://khv.tiddlyspot.com/controlpanel]] (your control panel username is //khv//).
<<tiddler TspotControls>>
See also GettingStarted.

@@font-weight:bold;font-size:1.3em;color:#444; //Working online// &nbsp;&nbsp;@@ You can edit this ~TiddlyWiki right now, and save your changes using the "save to web" button in the column on the right.

@@font-weight:bold;font-size:1.3em;color:#444; //Working offline// &nbsp;&nbsp;@@ A fully functioning copy of this ~TiddlyWiki can be saved onto your hard drive or USB stick.  You can make changes and save them locally without being connected to the Internet.  When you're ready to sync up again, just click "upload" and your ~TiddlyWiki will be saved back to tiddlyspot.com.

@@font-weight:bold;font-size:1.3em;color:#444; //Help!// &nbsp;&nbsp;@@ Find out more about ~TiddlyWiki at [[TiddlyWiki.com|http://tiddlywiki.com]].  Also visit [[TiddlyWiki.org|http://tiddlywiki.org]] for documentation on learning and using ~TiddlyWiki. New users are especially welcome on the [[TiddlyWiki mailing list|http://groups.google.com/group/TiddlyWiki]], which is an excellent place to ask questions and get help.  If you have a tiddlyspot related problem email [[tiddlyspot support|mailto:support@tiddlyspot.com]].

@@font-weight:bold;font-size:1.3em;color:#444; //Enjoy :)// &nbsp;&nbsp;@@ We hope you like using your tiddlyspot.com site.  Please email [[feedback@tiddlyspot.com|mailto:feedback@tiddlyspot.com]] with any comments or suggestions.
與羅蘭.巴特相關文字
@@color(#800):#800色彩顯示@@
@@color(brown):brown色彩顯示@@
@@color(#cc0000):#cc0000色彩顯示色彩顯示色彩顯示@@
@@color(red):red,f00色彩顯示@@
@@color(#ff6600):#ff6600色彩顯示色彩顯示色彩顯示@@
@@color(orange):orange色彩顯示色彩顯示色彩顯示@@
@@color(yellow):yellow,ff0色彩顯示@@
@@color(pink):pink色彩顯示@@
@@color(f0f):f0f, magenta色彩顯示@@
@@color(#008):#008, darkblue色彩顯示@@
@@color(blue):blue, 00f色彩顯示@@
@@color(cyan):cyan色彩顯示@@
@@color(lightblue):lightblue色彩顯示@@
@@color(#880):#880色彩顯示@@
@@color(#888):#888, gray色彩顯示@@
@@color(#808):#808, purple色彩顯示@@
@@color(darkgreen):darkgreen色彩顯示@@
@@color(#088):#088色彩顯示@@
@@color(green):green色彩顯示@@
@@color(#669900):#669900色彩顯示色彩顯示色彩顯示@@
@@color(0f0):0f0色彩顯示@@
@@color(lightgreen):lightgreen色彩顯示@@
@@color(yellowgreen):yellowgreen色彩顯示@@
@@color(#9933ff):#9933ff色彩顯示色彩顯示色彩顯示@@
Type the text for 'digitalNUDE'
*紅外線攝影在傳統暗房時代是一種相當新奇、新穎的攝影技術與創作方式。裝填infrared 紅外線底片必須在暗房,或是在暗袋裡才不會受不可見的infrared 紅外線曝光。(只要一打開底片塑膠蓋就會整卷曝光)。
*現在數位化之後,數位相機一般沒有感infrared 紅外線裝置,因此必須進場改裝,一次要上萬元。
*紅外線攝影作品依然相當多人嘗試。請參考:http://www.ayton.id.au/gary/photo/photo_infrared.htm
http://www.dmoz.org/Arts/Photography/Techniques_and_Styles/Infrared/Photographers/
*其攝影風格特性是:天空會變得深黑、雲白,綠樹綠草樹葉如雪、湖水黝黑深沈。至於拍攝人物則相當驚奇,有如吸血鬼髮白、眼輕透、膚色白裡透出血管。
*如果要拍好紅外線攝影就必須掌握這一些特色。
*利用photoshop也可以模擬出紅外線攝影效果。
*打開一張圖,使用指令:image/ adjustments/ black & white 就會出現對話框。選擇infarred就可以產生效果。
*使用photoshop模擬效果目前無法模擬出彩色的紅外線攝影效果,但是黑白效果相當精彩,比一般傳統照片再風景上顯得非常突出。
*
此乃《攝影不是藝術》一書的內容
all rights reserved ®
!版權所有.請尊重版權®hs----one!
!!版權所有.請尊重版權®hsgdkfhsk-----2!
!!!版權所有.請尊重版權®hsgdkfhs-----3!
!!!!版權所有.請尊重版權®hsgdkf----4!
!!!!!版權所有.請尊重版權®hsgdkfhs------5!
     版權所有.請尊重版權®hsgdkfhsk-----no!
現代是一個展現自我的年代。presentation很重要,越是沒有內容越是需要presentation。文化少的國家就只有芝麻綠豆一丁點資產,所以他們為了拼成績就很會presentation。韓國很會拼成績,把中國的東西都說成為他們的,聯合國還相信。

這個時代「會的自己做,不會的教人做,不會做的做官,不做官的造反」。因此會教人做事一等人,自己會做就做佣人。
網路或部落格已經是最普遍、省錢的自我行銷工具,不懂的應用網路或部落格真是太浪費了。
在網路上寫東西會花時間,但是可以(ㄧ)練習文字寫作與思考,這也是一種個人能力。(二)累積個人資料,方便整理,不會掛一漏萬。(三)多采多姿多一個個人presentation窗口。(四)既然部落格就是未來,它可能會是一個工作機會。
自我展現需要內容,有了內容就需要好好的呈現,否則再好的材料與內容都是枉然。設計是這一個世代的一切,沒有設計一切都只是生料,而這一個世代要求化泥土為黃金,做出文化創意,賺頭腦的錢,而不是勞力的錢。

如今任何東西都要重新經過設計,小至牙籤彈珠,大至汽車房子。你會發現一樣的錢買東西,越晚買越便宜漂亮,因為新的設計一直出現。

所以自己的個人呈現也要以格調著稱。好的版面、視覺尺寸、印刷質感、包裝等等。設計就是一種風格的呈現。
*@@color(orange):天下的老師都希望學生不要遲到早退,更不要曠課。@@
*@@color(blue):選修電腦課程的同學非常踴躍,希望出席率100%。不來上課的同學實在有愧於許多想加選,卻因選課人數額滿而無法選上的同學。我們規定,從開學就會一直點名。每一次點名,都是一個記錄,我用來扣總成績。看情形而定,一次扣二、三分。如果不來上課,無心上課,請自動退選,將機會讓給別人。@@
*@@color(orange):我大部分的課都設定曠課6小時警告,8小時扣考。所以希望大家注意。@@
*@@color(red):最最重要的是,上課不可以說話。@@
*@@color(red):上課說話被我紀錄,等於曠課。所以馬上就可以走人了。@@
*@@color(red):上課非常歡迎發問,上課發問多的學生我們就多加一些分數。上課被問問題要求發言,而講不出內容的同學,表示學習注意力不夠,對課堂內容不夠用心,必須被扣分。@@
*上課涉及人體藝術相關暴露影像是攝影、設計、藝術課程相當平常之事,全是為了上課教學目的,請以教學或藝術觀點視之。
*老師希望大家都得高分,如果對於分數有需求要申請獎學金,可以提早商量。要高分就要特別努力。
*
#聽音樂必須用心智去聽,無心的聽音樂其實是不可能的。你一定會一下子進入音樂,一下子又跳出。如此等於是分散心智。
#讀書的時候尤其最不應該聽音樂。
#開車聽音樂可以減輕壓力或是放鬆心情。
#試著讓自己靜一靜其實是一件好事。
#一直聽音樂,就是與世隔絕,獨立自己不太好,多多交朋友聊天是最好的生活方式。
#有時候晚上睡覺睡不著,後來發現居然是內心一直在念一首歌,是嗎?
#結論:聽音樂是一種吃嗎啡的動作。所以最好空閒時間認真的聽,好好欣賞。
要自我展現就要有成果才能作presentation。而時時累積成果隨時隨地記錄自我的小事蹟,就是最好的方法。有時自己不以為意,覺得自己那一點小事不足掛齒,但是這樣就無法累積成績。

累積的事蹟包括:自己的攝影、繪畫、筆記、設計作品、比賽成績。更可以主動為人服務做東西,免費可以得到一個成績。

依照自己人生的規劃與要求,可以將自己的成果時時分類存檔。例如:作品、校內成績、校外事蹟、文字創作、網路、等等。
收集作品集的呈現方式,好好想一想自己如何作一本與眾不同得書。紙有多厚、種類質感如何?大小尺寸?如何裝訂翻頁?它要呈現的是什麼效果?這一點最為重要。

凡事都是練習出來的,一回生二回熟,檢討失敗,下次改進。

做太多揮浪費太多成本,但是人生的成功如果需要一點成本為何要省呢?偷雞也要一把米阿!
*我拍我自己人像作業必須放入個人網頁。
*網址:http://2008fotop.ning.com
*按“我的頁面“就可以登錄一個自己新的部落格。
*每一個人都必須放一張清楚正面大頭照,好讓我以後可以與你打招呼。
*12月29日以前一定要把10張個人的人像作創意,放上去。
*加油。
令人無法理解的瘋狂    
    從現象學最基本的觀察來看我們對於一個物體的知覺方式,我們只能從某一個角度、某觀點看到那一個物體,並沒辦法一次看到所有的面。這是在經驗一個物體時很重要的一件事。每一次的知覺都是部份的,只有此物體的一部份直接給出。但是這卻並不是說我僅僅經驗到我目前視覺上所看到的面;當我看這一些面時,我也正意向著那一些不顯現的面。從這一點來看畫家畢卡索所發明的立體派繪畫就是一種反現象學的視覺經驗,因為在空間上,我們永遠無法像立體派畫家一樣將物體的空間,做上下左右全方位的展開。我們既看到右邊也看到左邊,既看到上面也看到下面。畢卡所畫的女人可以同時被看到兩個眼睛長在同一邊,而椅子可以反透視做360度的全面展開呈現,真是神奇。或許他畫的就是將現象學上不顯現的面做一次共同意向的呈現,但是我們的經驗裡只有一次一個面的視覺,立體派是一種藝術性的想像。

    如果將說空間上的共同意向是立體派繪畫的呈現,那時間上的共同意向就是數位影像合成的呈現狀態。影像合成將不同時間的情況結合在一起,製作出前後呼應、時空交錯的影像,這也違反了現象學的觀看基礎。我們前面提到數位合成影像是反偶然、反奇遇而且是製作驚奇的一種創作手法,這不但違背現象學,也和巴特欣賞照片的想法相違背。但是另一方面,數位合成影像可以創作出具有「巴山夜雨型」敘事能力的影像,這種影像在一般家庭照片中就是能主動掌握時間,提供「永恆」以對抗「歷史」的無情。所以這樣的照片一方面有那種令人感動、憂傷、瘋狂的因素在裡面,但是另一方面因為它是影像合成,所以是一種驚奇的照片,也就令人無法理解。所以數位攝影似乎是陷落在這樣的一種矛盾之中,它是一種令人無法理解的瘋狂。

    儘管影像再怎麼合成為一種前後時空交錯,人物時空變化的大結局,依然無法以現象學現時生活方式來理解。例如前面結婚時影像合成婚前小時候與婚後大人的影像,這樣的情境在語意上是有意義的,它像是詩篇的寫意,像是小說的浪漫,一種由時空轉接而譜成的戲劇性述說,但是它違反現象學裡的同一性綜合原則。現象學裡面講,意識總是對某物的意識,指的是意識意向著某物的同一性,而不僅是它所面對的表象流(the flow of appearances)。類似這一種影像處理的東西,因為它驚奇的製作出時空交錯的影像,想要刻畫出某一種時空面相,而這一些面相就像是現象學裡面對於事物的觀察,只是單一的表象還沒有辦法完成為某物的同一性;這個同一性類似於我們對於整體事物的全面了解與感受,而且同一性是公共的,每個人都可得到的,它不是我們對表象的投射之物。因此即使單獨照片裡的影像再怎麼充滿令人感動、憂傷、瘋狂的因素,依然無法以我們的意識或我們的經驗來理解影像中的一切,所以要說數位影像是一種令人無法理解的瘋狂。
住在巴特、宋妲、班雅明的照片裡
作者:章光和/攝影,文字
出版社:田園城市
出版日期:2003年07月20日
語言:繁體中文 ISBN:986770505X
http://www.books.com.tw/exep/prod/booksfile.php?item=0010228740
----
序言

    作家艾倫.狄波頓(Alain de botton) 在其「旅行的藝術」一書中以探訪英格蘭湖區談到詩人華滋華斯在鄉村生活的種種,從瀰漫著自然哲學的華滋華斯詩句談論到城市對心靈的不良影響。「紅塵滾滾,人世多煩憂」就在想到華滋華斯的詩句當時,艾倫.狄波頓眼見頭頂上一片烏雲,他感受到一種自然救贖的魔力,心中快慰之餘拿出口袋中的相機將它拍了下來。狄波頓拍下這張照片的意義,除了記錄了當時的心情感受,也同時牽扯到了詩人華滋華斯與英格蘭湖區。這一件事讓我想到我在本書中談到在聖母家門口的情形。為什麼在土耳其的Ephises耶穌的母親的家門口沒有拍照?現在回想起來可能除了美不美的問題之外,還有一種認知與感受的問題。美不美的確是攝影玩家們的一個重點,蘇珊.宋妲說:「使人們拿起相機去拍照的原因便是發覺了一些美的東西」。美不美拍的到,但是認知與感受卻是不容易拍到。那是一種對拍攝景物的時空了解,也是一種深藏在影像背後的攝影討論,多年來我的心願就是希望可以親切的將巴特、宋妲、班雅明他們有關攝影的想法以簡單的方式傳達出來,而我覺得以旅遊攝影的方式來呈現最為適合。或許是因為帶相機去旅遊是一件樂事,最能引起共鳴,或許是美美的影像比較吸引人,談論起來有聲有色,或許透過國外的影像談這些名家的論點比較貼切,或許只是一種感覺,就在面對影像的當下,一切的攝影論點傾瀉而下。

    我透過攝影收集影像,收集世界。在各地旅遊除了攝影以外,也曾經在巴黎的慮森堡公園撿拾鴿子的羽毛、石頭、在普羅旺斯的山城裡尋找漂亮的種子。多年來走過許多城市收集明信片、玩具、書籍、音樂盒、玻璃陶藝等等,這一些東西散在家裡每一個角落,俯拾之間皆是回憶。然而在各式各樣收集回憶的手段中,我喜歡攝影的方式,它比較溫和、普遍而影響深遠。所謂影響深遠可能是建設性的(不去傷害外物而只是冷眼旁觀的記錄與回憶,甚至建立起資料庫,當然也有人認為這是暴力行為,一點都不溫和),也可能是破壞性的(例如從布西亞的「擬像」觀點來看,則影像似乎是一種世界的取代)。想起聖母家門口的一棵大樹幹上黏滿了遊客到此一遊的口香糖渣渣,或是西班牙巴賽隆納的百年未蓋好的聖家堂教堂頂樓上牆壁刻滿了遊客的名字,這一種心態與西遊記裡孫悟空在五指山撒泡尿的心態類似,攝影何嘗不是,但是按快門的人從某種觀點看來是謙遜了些。

    有人製造影像、製造情境,有人消費,買入氣氛與經驗,這是現代影像製造產業所做的事。我們在生活裡透過攝影製造回憶創造美好生活,這也是一件現代人無法避免的事。攝影和我們生活息息相關,但是在自娛與欣賞之餘,真正可以從一些名家或是理論中來談攝影的輕鬆文章卻是很少,原因或許是因為生活上的攝影相當私密,除了巴特少有人談,而藝術或傳播類型的攝影討論又都太過嚴肅與乏味,不容易被攝影玩癖的愛好者親近,因此我想以多年帶著相機旅遊的經驗,來談一談某些名家的觀念,包括技術上與美術上的,來分享一個攝影者內心的思考。

    「照片其實是捕捉到的經驗,而相機是當意識想要獲得某種東西時的理想手臂。」蘇珊.宋妲說:「被奪走過去的人們,不管在家鄉或是在國外,似乎成為最熱情的拍照者。」我覺得這兩句話不管在過去還是在未來,都應該是我們永遠生活的寫照。

    這是一本諸多收集旅遊回憶的方法中,有關攝影的談論。「面對我心怡的風景,我感覺我確曾在那兒,或者,我應當去那兒。」羅蘭.巴特說:「對我而言,風景相片(城市或鄉野)應是可居,而非可訪的。」就是因為如此,所以我們希望可以居住在巴特、宋妲、班雅明的照片裡。


!!本書內容情節包括:
all rights reserved 版權所有
@@color(green):攝影式的旅遊與旅遊式的攝影-----扭曲的視野與體驗Travel, Photography, and Twisted vision@@
[[瓶中信 message in the bottle]]
[[看哪,這個多美麗]]
[[拾獲記憶 Found memory]]
[[影像氾濫 images landslide]]
[[拒絕經驗 refuse to experience]]
[[攝影式的旅遊 photographically travel style]]
[[現場與拍成照片是兩回事 reality and been photographed is totally two different things]]
[[好美、好多、拍不完 too beautiful to take it all]]
[[收集照片就是收集世界 collect pictures is to collect the world]]
[[風景照應是可居的 picture should be livable]]
[[三個不同時間的重疊 three time pieces overlap]]
[[發光的蜥蜴 the glowing lizard]]
----
@@color(green):名家的觀點 philosopher’s point of view@@
[[攝影是魔術 photography is magic]]
[[傳記微素 biographeme]]
[[知面與刺點 Studium and Punctum]]
[[銷毀影像拯救立即直接的慾望 destroy images to rescue the immediate desire]]
[[屬於被攝主體的時間確認力 photography belongs to the subject]]
[[攝影有兩種 there are two kinds of photography]]
[[尋找一對眼神 in search of catching eyes]]
[[可靠的照片 reliable photo]]
[[單一攝影 photographie unaire]]
[[傾聽者與抓取者 listener and hunter]]
[[卡夫卡閉上眼睛 Franz Kafka’s parables and aphorism]]
[[空城計與人海戰術 with or without people]]
[[每年、同一個地方、同一件事 same place, same thing, every year]]
[[攝影與插畫 photo or painting]]
----
@@color(green):技術vs.藝術 Technique vs. Art@@
[[曝光像是倒一杯水 exposure is like the flow of water into a glass]]
[[何謂正確曝光?what is the correct exposure]]
[[數位影像轟炸機,就儘量拍吧 digital camera, the unlimited bombing]]
[[總是慢半拍 always half second delay]]
[[慢速快門 slow shutter speed]]
[[居高臨下,一窺全豹,一種看的權力 Stand above the roof]]
[[天氣 weather]]
[[時機加運氣 chance and luck]]
[[街上的人 people in the street]]
[[坐船遊河 city tour in the bout]]
[[橋 story of bridge]]
[[體驗當下的拍攝難處 experienced the moments of taking picture]]
[[攝影成了旅遊事件本身 photography as travel itself]]
----
版權所有.請尊重版權®
這本書在中國大陸已經再版,相當暢銷。大陸網站對作者有詳細簡介。
http://www.dushu.com/book/10749974/

還有多本個人在大陸的出版:
http://www.dushu.com/author/章光和/

盡量參與熱衷之事即使是免費的義務都要掌握機會。以前我不參與活動、比賽、義務工作,結果失去很多累積工作經驗的機會。年輕就是本錢,你出「年輕」而別人可能可以出錢讓你做事,這樣不是很理想嗎。

參與工作可以得到經驗、知識、成果,而且最為重要的就是人脈。有了人脈人生一切發展都會活絡。
分類的崩解
    我們的研究從「後現代攝影藝術呈現方式」看到純藝術攝影創作是如此多樣化面貌發展,而完全超越傳統攝影的製作與呈現。而在巴特的偶然、奇遇、驚奇這一些觀念的檢視下,可以強烈的看出在「明理的」或是「瘋狂的」之間巴特做一個抉擇。巴特還是執著於攝影那一種令人瘋狂的特質,走向「明理的」一途則攝影也就不再成為攝影,因此他選擇「瘋狂的」攝影本質。然而透過「數位的應用、生活、美學」、「數位攝影時代與傳統攝影同一」、「數位時代攝影的範圍」、「數位攝影是反直接攝影的繪畫性再創造」這幾個章節,我們檢討數位攝影可否有「巴山夜雨型」的敘事能力,卻沒有反身自辯的能力,而終究導致數位影像成為一種令人無法理解的瘋狂。

    在此如果我們繼續檢討整個攝影的本質與其分類,就會發現其分類的崩解。巴特在《明室》第二節就指出攝影分類的不可能。他說若欲構組文本總體,必得先好好進行分類選樣,但是他心目中的「攝影」卻會閃躲開。一般人會依照實際經驗將攝影分為專業與業餘,或是在題材內容上分為風景、物體、肖像、裸體,或是依美學特色將攝影分成寫實與仿畫。這一些他認為都是屬於外在標準,與他認為的攝影本質無關。

    我們在本書的最後依循此一分類的崩解的原則,要進行另一個更大的分類的解構。在《複製真實—後現代攝影創作構思系統論述與實踐》一書中,本人透過對於巴特、宋妲、班雅名等相關攝影論述與及實際攝影操作的經驗建立起一個傳統攝影與電腦化時代攝影的本質體系。透過這一個體系希望可以順理成章的從傳統攝影本質超越到數位攝影本質,建立創作構思系統,使得攝影創作可以五花八門的活絡起來,而建立起一個後現代攝影藝術創作的領域,使得不論是攝影創作或是理論欣賞方面都能在此架構下合理發展。

    《複製真實—後現代攝影創作構思系統論述與實踐》一書中原來歸納出的傳統攝影本質有(一)無法無中生有、(二) 全部照單全收,盡收眼底、(三) 拍攝過程中造成不連續性、(四)攝影具有複製能力(五)攝影並非再生而是轉形。而電腦化時代的數位攝影則完全相反於此,它是(一)可以不照單全收,不接受影像固有的限制、(二)可以無中生有、(三)成像過程前後具連續性、(四)它是一種主觀的影像創造。

    電腦化時代的攝影本質中,我們認為它可以無中生有,不只進行影像處理的修改,甚至完全透過電腦繪圖技術產生影像,不須任何影像材料就能建構影像,就好像電影侏儸紀公園裡生動的恐龍,可以不用拍攝實物而創造出和真實的物品一模一樣的質感光影,而且它的景物動態安排是攝影機所無法拍攝到的。在這裡電腦影像處理的過程中,可以超乎攝影的限制而自己創造影像。也因此從傳統攝影本質出發,再配合前面我們定義的數位時代攝影的範圍裡,直接數位攝影、影像處理、電腦繪圖這三項,我幾乎可以建立起一個相當完整而豐富的攝影創作領域。但是巴特說「攝影是魔術而非藝術」,讓我們面對「明理的」或「瘋狂的」兩難。從巴特的角度看,攝影似乎應該回到它最初始的面貌,放棄那些社會政治的解釋。如果是如此,則攝影(巴特式的攝影)就應該保留在傳統攝影本質的領域,而脫離了影像合成與電腦繪圖的結合,完成了它獨特的一個意義系統。接著影像合成與電腦繪圖是不是也就必須以各自的獨特的意義體系來運作?所以經過巴特的《明室》來看數位攝影,到頭來反而變成完全的解構而各自為政,以建立起獨自的美學領域。
另一種影像敘事

約翰.伯格 與 尚.摩爾 合著,張世倫譯

觀察眾多從事影像報導的攝影者會發現,當他們對於攝影投入到達某一種境界時,總是有著那麼一種矜持,一種不巧取豪奪的氣度,一種以人為本而不是追求名利的操作。尚.摩爾以平實而人性的口語以照片搭配文字,道出攝影者與被攝者間存在著權力的落差。攝影者以相機攝取辛苦在市集等候賣牲畜的小販卻一毛錢也不用付。在印尼從雅加達到萬隆鐵道兩旁貧窮蔓延,火車緩步時眾多乞討的孩童追跑數百公尺,車內旅客閒談視若無睹,沒有人施捨他們東西。面對如此衝突慫恿的題材尚.摩爾自己說:「假如你是一個攝影家,卻不試圖去拍攝讓自己著魔的對象,那又怎能從這種情境中解放出來?」令人著魔的攝影題材就在眼前,而可以不舉起相機巧取豪奪一翻的攝影者實在很少,尚.摩爾在「無法被拍攝的主題」一文中刻畫自己從世界衛生組織報導者轉變為醫院病患時一種對比的心態。的確有人如著魔一般說什麼也要給強按快門一個好理由,即使角色互換相機依然握在手上。不拍的理由很多,但是拍照的藉口更多,然而尚.摩爾就是有著那麼一種令人莞爾一笑的作風。

《另一種影像敘事》由攝影家尚.摩爾與藝評家約翰.伯格共同完成,雖然比蘇珊.宋妲的《論攝影》晚了五年出版,但是對於攝影解讀與賞析卻是充滿實驗性與完整的見解。其簡單明瞭的敘述,可以說相當清楚的闡明了照片表面上曖昧含混的本質。對於蘇珊.宋妲、羅蘭.巴特、班雅明等眾多重量級的攝影論述如果無力一窺究竟,這是一本最一針見血進入核心的好書。尤其事隔半世紀才有中文譯本依然令人感覺其震懾力道。

照片意義的探索是所有攝影論述的重點,但是其他的書都沒有像作者一樣給我們那麼深刻有趣的感受。給出一張照片由各行業的人來說出其中的意義這是一個多麼深刻有趣的遊戲,當然也是一個中肯的實驗。其結果相當令人驚訝,五張照片幾乎沒有人說出其中真正的情況,由此可以清楚的看出,影像的意義很少是自給自足而不證自明的。影像的攝取在時間上是斷裂的片段,在空間上也是經過格放裁切,而在觀者個人文化背景天壤之別的解讀下更是讓照片的意義曖昧游離,我們幾乎無法清楚的從影像的外表透析其意義。文中一張照片是小女孩坐在草地上以雙手抱住洋娃娃的眼鼻,背景石牆上盤根錯節的藤蔓襯托出一種古怪氣氛。大部分的人都說她是張大嘴巴在哭泣,其結果是她假裝張口要咬其親密的玩偶。

《另一種影像敘事》其最大的企圖應該是兩位作者認為,既使照片意義難明,但是透過一連串照片的呈現,依然可以採用屬於影像的語言闡明一個生活的生命經驗。這一個理想是所有影像工作者的理想,作者當時認為如此,在攝影發明之初是如此,在攝影發展的未來更是如此。
*各科作業都會在開學前幾堂課宣布,同學必須依照作業規定時間繳交。不按規定交作業,不保證可以過關。
*基本上我的課都希望同學得到高分,但是依然每學期都會有同學被當掉,那是因為太晚交作業。
*例如96上學期,本來遲交依然有機會補救,但是電腦教室有補課,加上系辦公室裝潢整修,所以雪上加霜我無法取得補交的作業,被當掉不冤枉。
*以前有一個同學以為作業有交就沒事,結果開學要來繳交學費,發現根本就已經被退學。
*@@color(blue):所以希望神經大條的同學,謹記在心。@@
*很多同學喜歡故意遲交作業,拖延作業,以為反正最後我有交作業就好,其實遲交分數是比較低的。@@color(orange):不要太早交,也不要太晚交,說交的時候交,最好。@@
否定的美學 - 畢業專刊文
    法蘭克福學派的社會哲學理論是從社會一體化與藝術反一體化的角度來思考美學問題。美學、藝術、文化的問題成為其社會批判理論的中心問題之一。楊小濱所著的「否定的美學」一書中說,他們所有的藝術理論都建立在這樣的一個問題的基礎上:即藝術如何體現它的社會批判的姿態,如何成為解放意識,否定社會壓抑的意識。文化批判作為社會批判理論的重要部份,把發達工業社會的文化體制看作是壓抑人、操縱人、欺騙人的社會鐐銬。資本主義文化工業越讓人覺得「自由」地擁有,人就越喪失自由。所以法蘭克福學派對於資產階級文化,尤其是大眾文化的批判,是它的社會批判理論具體的政治實踐。

    從法蘭克福學派的觀點看則發現藝術的本質是反叛,一種站在反對立場時時督促、提醒普羅大眾,時代再怎麼進步、民主、科學、理性依然存在著某種社會疾病與矛盾。藝術絕對不應當服務於主流權力控制階層,包括商業廣告的刺激消費、流行歌曲的心靈麻醉、流行文化與消費時尚的逃避式的心靈解脫、短小輕薄的言情小說、連續劇、綜藝節目、主流媒體等等弱智似的愚民效果,都是現代社會異化人們心靈的助然物。對於主流體制、權力控制中心的愚民政策、單一價值體系應該透過藝術的良心批判,以達到真正多元的價值認定。如果這個社會無法珍重的包容批判立場,則真正的理想社會就無法到來。

    我們看蔡佩諭、陳世顏同學的作品的確充滿著社會關懷與批判的觀點,歷屆與這一次世新同學的畢業展類似的報導性質的作品也很多。但是相同的影像看多了是否會有一些陳腔濫調、無病呻吟、或是無法擊中資本主義社會病態的要害之感。我們不是說社會上這一些揭發社會黑暗面的報導攝影缺乏深刻的描寫與刻畫,其實問題是出在藝術的形式上。

    楊小濱說:「在法蘭克福學派那裡,作品的社會性不在於它作為某種超驗性的載體,而在於它自律的形式所蘊涵的同社會統治體系或現實的意識形態之間的張力。也就是說,藝術作品的社會意味是作品形式本身所存在的批判能量,而不應是任何外在於這個形式客體的主體所賦予或強加的認觀念」。如此一來真正的藝術在形式上的批判性反而超越了其內容的批判性。法蘭克福學派大將馬庫色說:「藝術不能表達革命,它只能通過另一種媒質,即另一種美學形式來招喚革命」,因此創作形式的創新與反叛反而是藝術的社會批判力的所在。

    如果以這一種觀點我們再來看歷屆與這一次世新畢業展的作品,則那一些大膽突破傳統形式,以一種大逆不道的創作形式來展現攝影藝術創作的學生作品,似乎才真正符合法蘭克福學派反美學理論,走在時代尖端以犧牲者、批判者的角色點醒世人。但是身為一個普羅大眾觀賞者、一個社會的一員、一個展出單位的指導老師、一個教學體系主流價值的一員的我,如何來觀看與判斷每年世新攝影組畢業展的厲害得失,成為一個相當有趣的難題。因為這牽涉到學生畢業展到底是成果展亦或是創作展?學生創作的意願與目的有多高?世新大學平面傳播科技系攝影組的發展走向是技術或是藝術的定位?甚至台灣藝術市場與藝術發展的面向問題都是必須要考慮的。從後現代解構主義的觀點看,作品的是非對錯完全要循著文本的前後脈絡來下結論,這一點是相當重要的。因此在很多大前提都還無法確定的情況下,斷然的取捨出一個觀看的文本脈絡自然是不值一提的。
    
商業攝影:
http://www.dirklambrechts.com/
http://web.showcase.com/flipthrough.asp?details=1&magtype=2&media=4&page=3

大廣告公司:
http://www.juxtinteractive.com/
http://www.feelgoodanyway.com/index.html
http://www.group94.com/#/website/work

影像銀行:http://www.gettyimages.com/Home.aspx
設計風格無法一時自我出現,那麼模仿學習是最快的方法。多看多想多學多抄,無所謂,因為一開始先做出一個樣子最為重要。要學習就要學習好風格、好格調。

接著自己覺得可以在進一步時,就多做改變。擺脫模仿呈現自我,但是還是要有好格調。
! Images
Edit this page to see how it's done.
[img[http://img110.echo.cx/img110/139/gorilla8nw.jpg]]
----
!Tables
|!th1111111111|!th2222222222|
|&gt;| colspan |
| rowspan |left|
|~| right|
|colored| center |
|caption|c

For a complex table example, see PeriodicTable.

! Horizontal Rules
You can divide a page into
----
sections by typing four dashes on a line by themselves.只要打四條線
*隨身攜帶筆記本與相機記錄自己的發現
*全神沈浸在設計之中
*經常與其他設計者溝通交流
*探討設計以外的領域,嘗試新鮮事
*聽音樂、演講、論壇、看歌劇、電影、博物館、畫廊
*到戶外走走、散步、運動
*和家人朋友聚聚
外系課程同學注意:
*所有作業都必須交齊。
*第十七週12月29日週一(單週)考試。
範圍:杜象、達蓋爾、塔柏特、自然攝影、藝術攝影、畫意派。
#圖書館是一個學校的靈魂、重心。一個學校要有好的老師、學生,還有圖書館。
#是新的圖書館相當好,攝影的書籍相當的多,比央圖還要多。因為我本人每年都採購二十萬元以上的攝影與設計書籍。
#圖書館的雜誌也特別多,相當精彩,在國外花錢有不容易買。
#學任何東西都是要多看多學,圖書館就是提供這一項服務。
#建議你每週都到圖書館借一本書,多年下來積沙成塔,必然有成。
#千萬不要到圖書館看漫畫,這是一種弱智的行為。除非你研究漫畫。
David Hockney 作品拍攝技法:
一、長鏡頭。可以定義小畫面。很像小小筆尖一樣,作畫。廣角鏡頭則相反。
二、依著地面或天花板的方格線,可以做出很好的練習。試著還原這一些格線的空間感。
三、如果站在原點,以九宮格(3x3, 5x5, 8x8)的分割方式拍攝,隨著格線延伸邊緣部份圖檔應該要轉彎。就會出現魚眼。
四、如果圖檔之間懸接合理,則就會出現比較理性的空間。懸接之間如果出現困難,也可以將個別圖檔作透明呈現,如此畫面會顯得合理許多。
五、另一種處理方式是拍攝時前進或後退,或是旋轉鏡頭,如此圖檔懸接上產生複雜化,容易產生非常感性的空間畫面。
六、這樣的技巧容易創作出視覺變化,但是如果內容單調乏味則無趣。因此重點在於拍攝內容必須有很好的主題。例如:建築新穎、室內空間新潮、人物有趣、事物新奇等。
七、繳交作品大小約2000x2000 pixel的jpg檔,大約10MG即可。
#學好英文有百利而無一害。收集資料、了解環境、就學就業、出國旅遊等等。
#現在生活競爭力必須要有英文能力。我學藝術但是可以做電腦影像多媒體,why?
#學英文要生活化,如果沒有那個環境,死背是沒有用的。
#多聽英文電台,電視。交外國朋友。
#學會英文資訊早十年。
#學好英文薪水比較高。
#
!章光和學校在這裡http://sites.google.com/site/khvschool/Home
!!!!@@color(#9933ff):不要從學校e-learn的課程連結上網,否則無法看見更新@@
*[[各項作業基本注意事項]]
*[[上課注意事項]]
*[[課程安排與規劃]]
*[[Presentation]]
*[[平面設計點線面作品範例|http://www.flickr.com/photos/khv/]]
*http://ffffound.com/ 視覺的饗宴.個人視覺測試
*[[教學心得]]
----
@@color(darkgreen):__攝影藝術__@@   
#[[2008攝影藝術課程要求]]
#[[攝影藝術相關書籍]]
#[[拼貼作業注意事項]]
#[[人像作業放入個人網頁]]
#[[外系課程第十七週考試]]

----
@@color(darkgreen):__攝影視覺創意__@@  老師正在企劃年度展覽,同學必須加強作品,希望能募集18位同學,每人五張作品。被選中參展的同學成績給90以上,希望大家加油。
#[[2008攝影視覺創意]]
#[[大衛哈克尼變形空間拼貼]]
#[[HDR高能範圍曝光]]
#[[infrared 紅外線攝影]]
@@color(ff6633):*引發與啟蒙一個設計案@@
@@color(ff6600):*決定設計案的主要目標@@
@@color(ff6600):*在設計案中尋找回饋@@
@@color(ff6600):*尊重設計師的專業@@
@@color(ff6600):*說明對設計案的期待與回應@@
@@color(ff6600):*建議期望的設計案風格@@
@@color(ff6600):*提供設計預算資訊@@
@@color(ff6600):*主動參與整個設計案過程@@
@@color(ff6600):*核准設計案@@
各位同學將來要多:
#多交朋友
#[[學好英文]]
#學習與現實並用,例如當藝術家就要當賺錢的藝術家,而不是孤芳自賞的藝術家
#打工與實習要當成一種生活與技藝的學習,而不是為了賺錢
#盡量接觸大環境,而不是待在小圈圈
#學習過程要全身投入,注意提出問題與解決問題
對時間觀念的挑戰
論章光和 89年博物館系列作品

      攝影一直是和時間有著密不可分的關係,它記錄時間,令時間存在。但是時間在照片上存在是片面的,它記錄某時某刻時間的切片。那個片段記遙遠又真實,既模糊又難以否認。時間就是那麼莫名其妙的被筐在照片裡。     我的作品是向另一種時間挑戰、向攝影的本質挑戰、向攝影的存在挑戰。人們不太注意眼前的東西,以為攝影可以替代一切、製造一切,攝影就像是自然的替身一般,備受人們信服。但是其實攝影在本質上是有其弱點的。為了令觀眾正視此點,我的觀念性作品故意不將攝影作品完全定影,如此隨著時間的變化,作品會越來越昏暗。如此作品有如人的生命一般,會隨著時光而消失。人是不會珍惜自己的生命的,只有當生命即將消失時。人是不會去正視攝影上的本質問題的,如果只有存在而沒有消失。有誰會去買一件幾年後即將消逝的作品呢?這件作品的存在是一個觀念,而不是這件作品本身。     

百年相紙的觀念是一個有趣的迷思。大家都希望記錄的影像可以長傳久遠,可以在時間上與空間上淵遠流長,讓記憶可以永不抹滅。但是攝影本身所記錄的影像和事實與回憶都有相當大的差距。本質上攝影是創造了另一個真實,而不是複製了事實。因此攝影的記錄是否貼近個人的記憶?是否需要百年不壞?都是值得質疑與顛覆的。經過時間的洗鍊而褪色的照片有一種時光久遠的回憶感,是不是反而更加有一種貼切感呢?

     其實在我的作品中我留下了很多可以與時空之外的觀眾對談的空間。作品中充滿了太多的偶然。我不經意的任其在任何時空下和其環境做各式各樣的接觸與變化。因此作品上可以常見的有針孔(釘在牆上觀看),顏料、膠帶的貼痕,筆的記錄。甚至是自動的繼續曝光變黑。將來的觀眾自然可以在他們的時空與之對話。例如:論判我的觀念與做法、或是任其銷毀。  

89年博物館系列作品對時間的探討  

一、另一段時間的延續     

對攝影家布列松的決定性的瞬間而言,攝影是瞬間動作巧妙的安排。在幾百分之一秒內凝固並總結了一個故事,而把整個事件推到最高潮的一霎那間。博物館系列作品雖然也強調動作的戲劇性,卻是反其道而行。我採用了繪畫性的洗相方法,結果延續了一個早已固定不動的姿勢,把博物館櫥櫃裡不會移動的標本,描寫成在幻想空間中活動的事件。因為我一直覺得那一些標本在櫥櫃中自成一個小宇宙,每天演著他們的劇情。

二、延長創作過程     

    對我而言攝影不只是光線在底片的記錄,它應該是洗相過程的加入。攝影不應該只是獵取鏡頭前的一切,它更應該是延伸到鏡頭獵取不到的事物以外的地方。     
    博物館系列作品創作方式最戲劇性的變化是在洗相的那一段時間裡。我把顯影與定影的藥水當顏料,用海棉當彩筆,在相紙上渲染洗滌。在顯現影像的短暫時刻中即興的塗塗改改。因此同一張底片在每一次洗相的結果都不一樣。如此洗相使得畫面常出現如抽象表現主義的筆觸與潑點,或是水墨的渲染效果,增加了攝影的戲劇性與繪畫性。 

三、永恆的終結

     攝影紀錄時間,令時間存在。但是時間在照片上存在是片面的,它記錄某時某刻時間的切片。那個片段既遙遠又真實,既模糊又難以否認。時間就是那麼莫名其妙的被筐在照片裡。攝影本身所記錄的和事實與回憶會有相當的差距。本質上攝影是創造了另一個真實,而不是複製了事實。

     我的作品是向攝影的時間挑戰、向攝影的本質挑戰、向攝影的存在挑戰。人們不太注意眼前的東西,以為攝影可以替代一切、製造一切,攝影就像是自然的替身一般,備受人們信服。但是其實攝影在本質上是有其弱點的。為了令觀眾正視此點,我的觀念性作品故意不將攝影作品完全定影,如此隨著時間的變化,作品會越來越昏暗。如此作品有如人的生命一般,會隨著時光成長變化。人只有當生命即將消失時才會珍惜自己的生命。人也不會去正視攝影本質上的問題,如果影像只有存在而沒有消失。

     其實在我的作品中我留下了很多可以與時空之外的觀眾對談的空間。作品中充滿了太多的偶然。我不經意的任其在任何時空下和其環境做各式各樣的接觸與變化。因此作品上可以常見的有針孔(釘在牆上觀看),顏料、膠帶的貼痕,筆的記錄。甚至是自動的繼續曝光變黑。
重要展出
1989年   紐約   Washington Square East Gallery
1989年   新竹   國立清華大學藝術中心“攝影、電腦繪製、錄影帶”個展
1990年   韓國   浦山雙年展
1992年   韓國   漢城市立美術館 韓國攝影的水平展
1992年   台北   藝術博覽會主題展
1993年   台北   誠品 六人展
1993年   日本   福井縣第五屆 雙年展
1994年   香港   兩岸三地“中、港、台、當代攝影”聯展
1994年   台北   阿普藝廊“真假攝影”聯展
1995年   日本  “沖繩國際攝影研討會”聯展
1995年   香港   香港藝術中心聯展
1995年   台北   台北攝影藝廊聯展
1996年   台北   獲台北市立美術館攝影作品永久館藏
1999年   台中   台灣省立美術館攝影作品永久館藏
2000年   台北   攝影作品參與國際佳士得拍賣公司台灣春拍
2000年   台北   第十屆國際人工真實會議(ICAT2000)作品參與
2000年   台北   2000台北國際攝影節(從傳統攝影到數位影像)展出
2003年   台北   國立歷史博物館 (國家畫廊) 展出2003.....兩岸攝影名家聯展 
2003年   台南   台南市攝影文化會館展出2003-兩岸攝影名家聯展 
2003年   台中   台中縣立港區藝術中心館展出2003.....兩岸攝影名家聯展
2004年    台北   台北國際視覺藝術中心”數位人體美學”個展
2005年    高雄   高雄市立美術館攝影作品永久館藏
2005年    台中   台灣省立美術館攝影作品永久館藏
2005年    山西   中國平遙國際攝影大展
2006年    北京   中國美術館展出「彼岸,看見—台灣攝影二十家1928-2006」攝影大展
2006年    上海   上海圖書館「彼岸,看見—台灣攝影二十家1928-2006」攝影大展
2008年    山西   山西平遙國際攝影展http://picasaweb.google.com.tw/khv1958/aawAAI#
巴山夜雨型的拍照動機
    以上幾點是巴特的特殊觀點,可以說這樣的觀點大概只能適合閱讀一般傳統的家庭照片,而對於觀察與解讀現代藝術創作則根本無法適用。許綺玲在《糖衣與木乃伊》一書中以現象學式的分析,歸納出所謂「巴山夜雨」的拍照動機,我覺得相當符合巴特的觀念,而且對於後續的思辯相當重要,所以在此特別提出。

    許綺玲以很長的篇幅分析一般人拍照時,「就在那短暫瞬間,從拍照的此刻出發,預想來日被拍者分在兩地看照片的景象,而這個預想中的未來隨即又變成了過去,變成相對於更遙遠未來的過去」,可能將來兩人碰面,又回想起他人不在場的那些時日、拍照那一天或是分離之前。總之在拍照的當時一般人已經想到過去、現在、未來、未來的過去等等相當複雜的時空因素,而將心理的期望寄託在這一張小小的相紙裡。透過這小小的影像,照片象徵著對時間的主動掌握,它提供一種超越時間經驗的永恆,人們拿它來對抗歷史對他們的摧殘。

    這樣的心情許綺玲以唐代詩人李商隱的「夜雨寄北」來做一個對照。「君問歸期未有期,巴山夜雨漲秋池。何當共剪西窗蠋,卻話巴山夜雨時。」就在此時此刻,詩人已經想到何時可以再相聚的時候,回想起當時巴山夜雨的一夜。這裡許綺玲最後說,詩人可以在文字裡表現他的心情與時空想像,但是攝影卻是無法捕捉拍照時的時空想像,所以她說攝影囿於迎對此時此刻的影像,欠缺反身自辯的能力,最後只有借助語言來追溯。也就是說,文學可以在此時此地寄望或是回溯時空的變化,但是攝影卻像是巴特所說的「它絕對獨特,偶然至上,沉濁無光,不吭不響,像愚蠢不移的畜生。」攝影像是重複著自己所說的話一般,一支煙斗總是一支煙斗,無法給你更多的東西。

    就是因為它無法給你更多的東西,所以巴特說攝影就是非辯證的。在《明室》的三十七節談到電影是一種流動的影像,雖然電影也要有一個指稱對象,這個指稱對象雖然說明了「此曾在」,但是電影活動的影像持續不斷的流逝,所以指稱對象會開溜。所以巴特認為它不會像攝影一樣如幽靈般的纏著他。就是這一種幽靈般的特質,顯現一種惆悵性,所以巴特說攝影沒有未來,沒有前瞻性,因為它固定不動,影像從複現退返回顧。這也是它令人發狂的原因。

    他用看到母親小時候的照片為例,再一次的強調出,照片無法給他任何母親的回憶那是一種傷痛。「我無法轉化我的憂傷,我無法撇開視線,沒有任何修養能幫助我,抒發我從影像絕境裡全然感受到的痛苦。」所以他說攝影正如變質的戲劇,死亡在其中無法「自我欣賞」,自我反照,自我內化,也因此沒有陶冶性情,滌化心靈的作用,是一種非辯證的狀況。   
巴特的幾個觀點
    這個「明理的」與「瘋狂的」兩條路線,可以讓我們清楚的看到,攝影在我們生活與世俗裡如何的被利用與誤用。巴特對於觀看照片的確有他獨到的見解與特色,例如偶然、奇遇、驚奇這一些有關攝影畫面的探討,很明顯的可以看出他對於何種照片的喜好與厭惡。同時巴特也因為接觸日本的俳句而將攝影與俳句詩做了深入的比喻。我們將簡單的介紹一下巴特的這些觀點,以便在文章最後與數位攝影做更深入的比較。

偶然、奇遇
    巴特說「假使真有一張照片引起我濃厚的興趣,我渴望這張照片裡是什麼令我傾倒。」他認為最準確的字眼是「奇遇」。這一張碰上了我,那一張沒碰上我。這完全是一種以自己的慾望與憂傷來觀看照片。巴特說「身為觀看者,我對攝影只有情感方面的興趣;我希望探討這個現象,不以問題(論題)討論之,而以傷口看待之:我看見,我感覺,故我注意,我觀察,我思考。」就是因為以個人情感來看照片,將那感動的部分看成為刺痛的傷口,所以可能會在「鬱悶的荒漠裡,忽然有張照片迎著我來,它使我充滿活力,我為它注入生命。……相片本身雖未因此變得栩栩如生,卻使我生氣勃勃,而這正是奇遇使然。」

    在現象學裡面我們對於事物的觀看以「面」呈現,而「面」的空間移動是「面相」,每一個面可以有恨多種相對我們呈現。而「面相」在時間上的呈現就稱為「輪廓」。輪廓是以時間上瞬時的呈現,它是無法被許多觀看者看到的面相或是場景。除非我們一起觀看,否則我所經驗的輪廓是不同於你所經驗的輪廓。一個輪廓是私己的、主體的,輪廓甚至是依賴於我當時的性情與我當時的感覺器官的狀態於定;生病或頭暈所感覺的輪廓是晃動不穩定的。這一種輪廓的主體性引用到巴特的攝影觀察幾乎就是偶然與奇遇的來源,甚至我們可以更進一步說巴特的「刺點」說法中,認為每一次的觀看照片會有不同的刺點,也是肇因於此。

    偶然的奇遇一張照片,而能使觀看者生命充滿活力這是何等的感性。然而站在拍攝者的立場,其實攝影本身就是一種奇遇。從拍照的動作來看,我們選擇中等,而且比較不會使影像在運動中模糊的速度1/125 秒,來拍攝一個事件,則每秒應有的決定快瞬間的可能性就有125 個。在短短的一秒鐘裡,攝影者如何決定從此125個時間片斷中,(按下快門)選取一張做為事件的總結,其實是相當可疑的,更不要說其他長時間的連續事件了。在外物不斷的變換之中,攝影者所截取的一片影像,就好像在時光的洪流裡,用一個小瓢去取水一樣,只能算是抽樣,而且它充滿著千變萬化的未知數。如果我們再進一步質疑拍攝的角度與事件發生的時機,則就更是覺得攝影本身就是一種奇遇。為了要闡述這一種拍攝角度與事件發生的奇遇性,伊芙松尼曼(Eve Sonneman)以兩張照片同時展出的形式來創作。透過巴特「此曾在」的觀念,攝影給人一種觀看者與照片裡的主體同在的想像,但同時我們知道我們並沒有在照片裡,而且照片裡的主體也已經不是如在拍照的當初那樣。這個同時記錄「存在」與「不在」的矛盾,從伊芙松尼曼的作品中可以看出來。他以並排的兩張照片有如麥布里基(Eadweard Muybridge)與杜安麥可或是其他攝影小說般,開啟了一個動態的連續性,但是卻沒有繼續下去。我們卡在兩張照片間前後搖擺不定,從邏輯上時間的期待轉變為空間的動態。但是它們依然靜止,這樣並比的照片令人懷疑攝影誇大的闡述性(例如西洋藝術史課程以兩張幻燈片作比較或是廣告商以不同照片作比較)。最後我們只能盡量在其中尋找些微的差異或相似,但是很少值得一提。這種在教室或商業上失落的經驗使得我們轉而不去觀察照片裡有什麼,而是照片裡沒有什麼。我們觀察拍照前、拍照後與兩張照片拍照之間所「不在」的部份。這兩張最像照片的照片(它們敘述時間、空間、主體與攝影者的位置)變的不像照片。這個主體的不連續性無法給人一種存在於攝影機的位置與照片裡的主體同在的想像,而引來「不在」的結果。

    布列松1933年拍攝的作品Alicante, Spain顯現的就是一件相當奇遇的景象。街上(從背景的牆上觀察)有兩男(似有女性氣質)一女在做髮型的理容,三個人都看著鏡頭,中間那個男性正幫右邊的男性整理頭髮,兩個人四隻手正環繞成為一個視覺的構圖循環。而背後一位頭戴三角帽子狀似吉普賽的胖女人右手拿了一隻修指甲刀,正想繞過中間的男性,幫右邊的男性修飾他的右手,而她的左手似乎又摸著中間那人的頭。一切是那麼的沒有道理,但是又是那麼的巧合。三個人的手完全相連,糾結在一起形成一個七手八腳的組合,一個不可思議的互動巧合。布列松一向以攝影決定性瞬間的快門掌握著稱。在西班牙陋巷偶然奇遇這一幕詭異充滿異國