Как правильно масштабировать изображение с камеры Android обратно на дисплей - PullRequest
0 голосов
/ 07 ноября 2011

Я пытаюсь сделать следующее на вкладке галактики.

  1. Сфотографируй
  2. Сохранить на SD-карту
  3. Отображение захваченного изображения в том же масштабе, который был показан во время захвата изображения. **

Все основные части для 1 и 2 работают, но когда я перезагружаю захваченное изображение в ImageView, я не могу получить масштабирование, равное исходному изображению, отображаемому на поверхности.

Я перепробовал все комбинации setScaleType в ImageView, но все они немного отличаются друг от друга. (Я хотел бы получить идеальный пиксель, но теперь я нигде не близко). Размер рамки, используемой для поверхности, в точности соответствует размеру, используемому в представлении изображения.

Вот XML:

<FrameLayout android:id="@+id/cameraPreview"
    android:layout_height="wrap_content" 
            android:layout_width="wrap_content"
    android:layout_alignParentBottom="true"
            android:layout_alignTop="@+id/buttonSnap"
    android:layout_toRightOf="@+id/buttonSnap"
            android:layout_toLeftOf="@+id/xTextView">
</FrameLayout>

<ImageView 
            android:layout_height="wrap_content"
    android:layout_width="wrap_content" 
            android:id="@+id/imageF"
    android:src="@drawable/right_image" 
            android:layout_alignParentTop="true"
    android:layout_toRightOf="@+id/buttonSnap" 
            android:scaleType="center" 
            android:layout_toLeftOf="@+id/xTextView">
    </ImageView>

То, что я хотел бы сделать, это сам управлять преобразованием, чтобы я знал, что происходит, сейчас я чувствую себя застрявшим, не зная, как отобразить координатные рамки между поверхностью и в ImageView.

...