forked from Public/pics
		
	Merge pull request 'Add gaussian blurs behind photos' (#34) from image-blur into master
Reviewed-on: Public/pics#34
This commit is contained in:
		
						commit
						5aec2f25b1
					
				| @ -199,33 +199,57 @@ i.space-invader.alt-7::before { | ||||
| 
 | ||||
| div.polaroid { | ||||
| 	background: #fff; | ||||
| 	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); | ||||
| 	box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.3); | ||||
| 	line-height: 0; | ||||
| 	position: relative; | ||||
| 	transition: 0.25s; | ||||
| } | ||||
| div.polaroid img { | ||||
| 	background: url('../images/nothumb.svg') center no-repeat; | ||||
| div.polaroid:hover { | ||||
| 	box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.5); | ||||
| } | ||||
| div.polaroid img.normal-photo { | ||||
| 	background: #fff url('../images/nothumb.svg') center no-repeat; | ||||
| 	border: none; | ||||
| 	left: 0; | ||||
| 	object-fit: cover; | ||||
| 	position: absolute; | ||||
| 	top: 0; | ||||
| 	width: 100%; | ||||
| 	z-index: 20; | ||||
| } | ||||
| div.polaroid img.blur-photo { | ||||
| 	filter: blur(50px); | ||||
| 	left: 0; | ||||
| 	object-fit: cover; | ||||
| 	position: absolute; | ||||
| 	top: 0; | ||||
| 	width: 100%; | ||||
| 	z-index: 0; | ||||
| } | ||||
| div.polaroid img.placeholder-image { | ||||
| 	background: #fff; | ||||
| 	z-index: 20; | ||||
| } | ||||
| div.polaroid h4 { | ||||
| 	background: #fff; | ||||
| 	bottom: 0; | ||||
| 	color: #000; | ||||
| 	margin: 0; | ||||
| 	font: 400 18px 'Coda', sans-serif; | ||||
| 	padding: 15px 5px; | ||||
| 	position: absolute; | ||||
| 	text-overflow: ellipsis; | ||||
| 	text-align: center; | ||||
| 	width: 100%; | ||||
| 	white-space: nowrap; | ||||
| 	overflow: hidden; | ||||
| 	z-index: 20; | ||||
| } | ||||
| div.polaroid a { | ||||
| 	display: block; | ||||
| 	text-decoration: none; | ||||
| } | ||||
| div.polaroid:hover { | ||||
| 	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| /* Album title boxes | ||||
| @ -366,22 +390,53 @@ footer a { | ||||
| 
 | ||||
| /* Styling for the photo pages | ||||
| --------------------------------*/ | ||||
| #photo_frame { | ||||
| 	padding-top: 1.5vh; | ||||
| 	text-align: center; | ||||
| } | ||||
| #photo_frame a { | ||||
| 
 | ||||
| #photo_frame { | ||||
| 	padding: 3.5vh 0; | ||||
| 	text-align: center; | ||||
| 	height: 95vh; | ||||
| } | ||||
| #photo_frame a img { | ||||
| 	border: none; | ||||
| 	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); | ||||
| 	cursor: -moz-zoom-in; | ||||
| 	display: inline-block; | ||||
| 	height: 97vh; | ||||
| 	max-width: 100%; | ||||
| 
 | ||||
| #photo-figure { | ||||
| 	position: relative; | ||||
| 	object-fit: contain; | ||||
| 	width: auto; | ||||
| 	height: 93vh; | ||||
| 	object-position: center center; | ||||
| } | ||||
| #photo-figure img { | ||||
| 	object-position: center center; | ||||
| } | ||||
| #photo-figure img.normal-photo { | ||||
| 	border: none; | ||||
| 	cursor: -moz-zoom-in; | ||||
| 	object-fit: contain; | ||||
| 	z-index: 20; | ||||
| 	position: absolute; | ||||
| 	left: 0; | ||||
| 	top: 0; | ||||
| } | ||||
| #photo-figure img.blur-photo { | ||||
| 	filter: blur(50px); | ||||
| 	left: 0; | ||||
| 	object-fit: contain; | ||||
| 	position: absolute; | ||||
| 	top: 0; | ||||
| 	z-index: 0; | ||||
| } | ||||
| 
 | ||||
| figure.portrait-figure, | ||||
| figure.landscape-figure { | ||||
| 	height: 93vh; | ||||
| 	margin: 0 auto; | ||||
| } | ||||
| figure.panorama-figure { | ||||
| 	object-fit: cover; | ||||
| 	margin: 0 auto; | ||||
| } | ||||
| figure#photo-figure img.normal-photo, | ||||
| figure#photo-figure img.blur-photo { | ||||
| 	height: 100%; | ||||
| 	width: 100%; | ||||
| } | ||||
| 
 | ||||
| #previous_photo, #next_photo { | ||||
|  | ||||
| @ -42,7 +42,7 @@ class AlbumIndex extends Template | ||||
| 	{ | ||||
| 		echo ' | ||||
| 					<div class="col-md-6 col-xl-4"> | ||||
| 						<div class="polaroid landscape">'; | ||||
| 						<div class="polaroid landscape" style="aspect-ratio: 1.12">'; | ||||
| 
 | ||||
| 		if ($this->show_edit_buttons) | ||||
| 			echo ' | ||||
| @ -58,15 +58,20 @@ class AlbumIndex extends Template | ||||
| 				$thumbs[$factor] = $album['thumbnail']->getThumbnailUrl( | ||||
| 					static::TILE_WIDTH * $factor, static::TILE_HEIGHT * $factor, true, true); | ||||
| 
 | ||||
| 			foreach (['normal-photo', 'blur-photo'] as $className) | ||||
| 			{ | ||||
| 				echo ' | ||||
| 								<img alt="" src="', $thumbs[1], '"' . (isset($thumbs[2]) ? | ||||
| 									' srcset="' . $thumbs[2] . ' 2x"' : '') . | ||||
| 									' class="', $className, '"' . | ||||
| 									' alt="" style="aspect-ratio: ', self::TILE_RATIO, '">'; | ||||
| 			} | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			echo ' | ||||
| 								<img alt="" src="', BASEURL, '/images/nothumb.svg"', | ||||
| 									' class="placeholder-image"', | ||||
| 									' style="aspect-ratio: ', self::TILE_RATIO, '; object-fit: unset">'; | ||||
| 		} | ||||
| 
 | ||||
|  | ||||
| @ -67,17 +67,31 @@ class PhotoPage extends Template | ||||
| 	protected function photo() | ||||
| 	{ | ||||
| 		echo ' | ||||
| 				<div id="photo_frame"> | ||||
| 					<a href="', $this->photo->getUrl(), '">'; | ||||
| 				<a href="', $this->photo->getUrl(), '"> | ||||
| 					<div id="photo_frame">'; | ||||
| 
 | ||||
| 		if ($this->photo->isPortrait()) | ||||
| 			echo $this->photo->getInlineImage(null, 960); | ||||
| 		{ | ||||
| 			echo ' | ||||
| 						<figure id="photo-figure" class="portrait-figure">', | ||||
| 				$this->photo->getInlineImage(null, 960, 'normal-photo'), | ||||
| 				$this->photo->getInlineImage(null, 960, 'blur-photo'), ' | ||||
| 						</figure>'; | ||||
| 		} | ||||
| 		else | ||||
| 			echo $this->photo->getInlineImage(1280, null); | ||||
| 		{ | ||||
| 			$className = $this->photo->isPanorama() ? 'panorama-figure' : 'landscape-figure'; | ||||
| 			echo ' | ||||
| 						<figure id="photo-figure" class="', $className, '">', | ||||
| 				$this->photo->getInlineImage(1280, null, 'normal-photo'), | ||||
| 				$this->photo->getInlineImage(1280, null, 'blur-photo'), ' | ||||
| 						</figure>'; | ||||
| 		} | ||||
| 
 | ||||
| 		echo ' | ||||
| 					</a> | ||||
| 				</div>'; | ||||
| 						</figure> | ||||
| 					</div> | ||||
| 				</a>'; | ||||
| 	} | ||||
| 
 | ||||
| 	private function photoNav() | ||||
|  | ||||
| @ -83,15 +83,23 @@ class PhotosIndex extends Template | ||||
| 
 | ||||
| 	protected function photo(Image $image, $className, $width, $height, $crop = true, $fit = true) | ||||
| 	{ | ||||
| 		// Prefer thumbnail aspect ratio if available, otherwise use image aspect ratio.
 | ||||
| 		$aspectRatio = isset($width, $height) ? $width / $height : $image->ratio(); | ||||
| 
 | ||||
| 		echo ' | ||||
| 				<div class="polaroid ', $className, '">'; | ||||
| 				<div class="polaroid ', $className, '" style="aspect-ratio: ', $aspectRatio, '">'; | ||||
| 
 | ||||
| 		if ($this->show_edit_buttons) | ||||
| 			echo ' | ||||
| 					<a class="edit" href="', BASEURL, '/editasset/?id=', $image->getId(), '">Edit</a>'; | ||||
| 
 | ||||
| 		echo ' | ||||
| 					<a href="', $image->getPageUrl(), $this->url_suffix, '#photo_frame"> | ||||
| 					<a href="', $image->getPageUrl(), $this->url_suffix, '#photo_frame">'; | ||||
| 
 | ||||
| 
 | ||||
| 		foreach (['normal-photo', 'blur-photo'] as $className) | ||||
| 		{ | ||||
| 			echo ' | ||||
| 						<img src="', $image->getThumbnailUrl($width, $height, $crop, $fit), '"'; | ||||
| 
 | ||||
| 			// Can we offer double-density thumbs?
 | ||||
| @ -100,10 +108,8 @@ class PhotosIndex extends Template | ||||
| 			else | ||||
| 				echo ' srcset="', $image->getThumbnailUrl($image->width(), $image->height(), true), ' 2x"'; | ||||
| 
 | ||||
| 		// Prefer thumbnail aspect ratio if available, otherwise use image aspect ratio.
 | ||||
| 		$aspectRatio = isset($width, $height) ? $width / $height : $image->ratio(); | ||||
| 
 | ||||
| 		echo ' alt="" title="', $image->getTitle(), '" style="aspect-ratio: ', $aspectRatio, '">'; | ||||
| 			echo ' alt="" title="', $image->getTitle(), '" class="', $className, '" style="aspect-ratio: ', $aspectRatio, '">'; | ||||
| 		} | ||||
| 
 | ||||
| 		if ($this->show_labels) | ||||
| 			echo ' | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user