Search

저작권 표시 안해도 되는 사진들.

잡담 2013.07.01 16:45 Posted by 기분째즈

플리커 덕분에 요즘에는 무료 사진도 구하기 쉬워졌지만 대부분은 저작권표시를 해야되고, 앱이나 사이트를 만들다 보면 저작권표시하기가 애매할 때가 있는데, 저작권표시 의무가 없어서 고민하지 않고 사용할 수 있는 사진 이미지사이트 입니다.

법적인 저촉은 안받지만 그래도 저작권 표시를 해주면 저작자가 좋아하겠죠. :)

물론 상용에 이용가능하고요.


public domain이라고 라이센스를 제외하고는 재배포는 안됩니다 (배포를 위한 서비스는 안됩니다)


주의 : 광고랑 헷갈리지마세요. 광고로 들어간 사이트는 보통 유료입니다.


pixabay.com

http://pixabay.com/

87581장의 이미지가 있고 사진 퀄리티 관리를 어떻게 하는지 모르겠지만 고퀄입니다. public domain입니다.


morgueFile

http://www.morguefile.com/

지금 기준으로 딱 10000장이 보이는데, 딱 10000장인지 모르겠네요. 사진 질은 어떻게 관리되는지 모르겠지만 상당히 좋습니다.


every stock photo

http://www.everystockphoto.com/

stock.xchng, morgueFile, Flickr등 유명한 사진 서비스에서 사진을 검색하는 검색 서비스입니다.

라이센스나 해상도 별로도 검색 가능합니다. 해상도를 public domain나 custom으로 검색하면 저작권 표시 안해도 되는 걸 찾을 수 있을 겁니다.


stock.xchng

http://www.sxc.hu/

질도 좋고 양도 많습니다. 일부 사진의 경우 라이센스가 다르니 라이센스 적혀있는 거 확인하세요.


Republic Domain

http://www.republicdomain.com/photos/category/pictures/

지금 기준으로 4729장의 이미지가 있고, 퀄리티가 좋습니다.


Public Domain Pictures

http://www.publicdomainpictures.net/

글 작성 시간 기준으로 42,890장의 이미지가 있습니다. republic보다 상대적으로 사진이 많아요.


플리커 커먼즈

http://www.flickr.com/commons

'알려지지 않은 저작권 제한'이라는 라이센스 사진을 공개하는 플리커 서비스입니다.

저작권이 만료되거나 공공기관이 소유해서 저작권을 따로 주장하는 않는 라이센스입니다.

사실상 public domain과 비슷한 라이센스이고 오래된 사진을 쉽게 구할 수 있을 겁니다.


Image After

http://www.imageafter.com/images.php

사진과 텍스처를 둘 다 제공하고 있습니다. 분류가 잘 되어 있습니다.


Photo rack

http://photorack.net/index.php

27871개의 파일입니다. 여기 역시 텍스쳐도 있고 분류가 잘 되어 있습니다


Image Base

http://www.imagebase.net/

본인이 직접 찍은 것 같아 보입니다. 꽤 좋습니다.

신고
당황스럽게도 안드로이드에는 키보드가 떴는지 안떴는지를 알 수 있는 API도 없고, 이벤트도 없습니다.

우회해서 알아내야하는데요.

터치이벤트 자체를 낚아채서 강제로 이벤트를 주면서 키보드 상태를 알아내는 법. 화면사이즈 변경된 걸로 알아내는 법. 몇몇 방법이 있지만 재사용하기 편한 건 키보드가 뜨면서 화면크기가 변경된 걸 알아내는 뷰 하나 만들어서 화면에 붙이는 게 편하더군요.

주의점은 AndroidManifest.xml에서 android:windowSoftInputMode adjustResize 속성을 추가해야합니다.

키보드 등장에 화면크기가 바뀌는 걸로 설정했기 때문에 키보드 등장에 의한 자동 스크롤(Pan)은 되지않습니다.


키보드 알아내는 뷰.
SoftKeyboardDectectorView.java 소스 내용


package com.givenjazz.android;

import android.app.Activity;
import android.content.Context;
import android.graphics.Rect;
import android.util.AttributeSet;
import android.view.View;

public class SoftKeyboardDectectorView extends View {

    private boolean mShownKeyboard;
    private OnShownKeyboardListener mOnShownSoftKeyboard;
    private OnHiddenKeyboardListener onHiddenSoftKeyboard;

    public SoftKeyboardDectectorView(Context context) {
        this(context, null);
    }

    public SoftKeyboardDectectorView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
        Activity activity = (Activity)getContext();
        Rect rect = new Rect();
        activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);
        int statusBarHeight = rect.top;
        int screenHeight = activity.getWindowManager().getDefaultDisplay().getHeight();
        int diffHeight = (screenHeight - statusBarHeight) - h;
        if (diffHeight > 100 && !mShownKeyboard) { // 모든 키보드는 100px보다 크다고 가정
            mShownKeyboard = true;
            onShownSoftKeyboard();
        } else if (diffHeight < 100 && mShownKeyboard) {
            mShownKeyboard = false;
            onHiddenSoftKeyboard();
        }
        super.onSizeChanged(w, h, oldw, oldh);
    }

    public void onHiddenSoftKeyboard() {
        if (onHiddenSoftKeyboard != null)
            onHiddenSoftKeyboard.onHiddenSoftKeyboard();
    }

    public void onShownSoftKeyboard() {
        if (mOnShownSoftKeyboard != null)
            mOnShownSoftKeyboard.onShowSoftKeyboard();
    }

    public void setOnShownKeyboard(OnShownKeyboardListener listener) {
        mOnShownSoftKeyboard = listener;
    }

    public void setOnHiddenKeyboard(OnHiddenKeyboardListener listener) {
        onHiddenSoftKeyboard = listener;
    }

    public interface OnShownKeyboardListener {
        public void onShowSoftKeyboard();
    }

    public interface OnHiddenKeyboardListener {
        public void onHiddenSoftKeyboard();
    }
}


사용 예) 사용하는 activity의 onCreate같은 곳에 다음과 같이 사용
final SoftKeyboardDectectorView softKeyboardDecector = new SoftKeyboardDectectorView(this);
addContentView(softKeyboardDecector, new FrameLayout.LayoutParams(-1, -1));

softKeyboardDecector.setOnShownKeyboard(new OnShownKeyboardListener() {

    @Override
    public void onShowSoftKeyboard() {
        //키보드 등장할 때
    }
});

softKeyboardDecector.setOnHiddenKeyboard(new OnHiddenKeyboardListener() {

    @Override
    public void onHiddenSoftKeyboard() {
        // 키보드 사라질 때
    }
});
신고


 

티스토리 툴바