J'ai un problème d'obtention de la bonne taille de l'image.
Pour cela, j'ai cette méthode, le redimensionnement de l'image et la logique nécessite une petite modification pour obtenir la bonne taille de l'image: p> de sorte que chaque image est montrée plus petite que l'espace qu'elle a
Dans l'image ci-dessous, vous pouvez voir qu'il y a beaucoup d'espace blanc qui n'est pas utilisé et que cela signifie certainement que je vais faire quelque chose qui ne va pas dans ma méthode qui cause cela, j'ai choisi beaucoup de temps cette méthode et je n'ai pas 't sais vraiment pourquoi ou est-ce que cela se produit, quelqu'un peut-il m'aider à éditer cette méthode si c'est besoin que j'apprécierais vraiment cela.
Les images sont en train d'être montrées comme ceci:
p> p>
3 Réponses :
Très probablement, vous devez connaître la taille de l'image pour redimensionner, après cette base sur cette valeur, la liste IF et d'autre doit fonctionner et appeler la fonction de redimensionnement que vous pourrez redimensionner. J'espère que cela aide. Et lorsque vous redimensionnez, assurez-vous de pouvoir diminuer le pixel comme défini par l'utilisateur. P>
Je veux dire comment puis-je aller la taille, je ne peux pas maintenant ça, mais ce que je sais, c'est la taille maximale que je veux, mais je pense que la méthode est fausse mais merci j'apprécie
private static final int MAX_FEAT_IMAGE_WIDTH = 600;
private static final int MAX_FEAT_IMAGE_WIDTH = 600;
double featImageWidth = originalImage.getWidth();
double featImageHeight = originalImage.getHeight();
// Sanity check on the input (division by zero, infinity):
if (featImageWidth <= 1 || featImageHeight <= 1) {
throw new IllegalArgumentException("..." + featureImage);
}
// The scaling factors to reach to maxima on width and height:
double xScale = MAX_FEAT_IMAGE_WIDTH / featImageWidth;
double yScale = MAX_FEAT_IMAGE_HEIGHT / featImageHeight;
// Proportional (scale width and height by the same factor):
double scale = Math.min(xScale, yScale);
// (Possibly) Do not enlarge:
scale = Math.min(1.0, scale);
int finalWidth = Math.min((int) Math.round(scale * featImageWidth), MAX_FEAT_IMAGE_WIDTH);
int finalHeight = Math.min((int) Math.round(scale * featImageHeigth), MAX_FEAT_IMAGE_HEIGHT);
As you see I turn two things around, to maintain a proportional scaling. Using a ratio (/) instead of a scaling factor (*) mentally seems to make it harder.
Determining the scaling for width and for height separately let's one choose the minimal scaling.
One also may decide, not to enlarge small pictures.
Le code avec redizedImage code> est toujours valide. Un chèque de non-redimensionnement nécessaire pourrait encore être en ordre.
ok je vais éditer ma question, plus récemment, la partie du code a alook dans un min aurait-il ressembler à cette cause je ne suis pas sûr de vous remercier
Si cela ne vous dérange pas, veuillez regarder, je veux juste être sûr
Vous considérez uniquement l'orientation (rapport update: p> OK, commençons par la balance: p> code> xxx pré> maxFeatImageHeight*featImageWidth < maxFeatImageHeight*featImageWidth
désolé mais je ne comprends pas pouvez-vous s'il vous plaît modifier mon code et expliquer un peu plus parce que je suis vraiment pas clair et merci d'apprécier tout cela
Jetez un coup d'œil au code @joopeggen, je pense est une meilleure approche
@Iliapapia C'est plus compliqué, mais vous sentez-vous.
Tu peux m'aider avec quelque chose
Êtes-vous sûr que les images qui contiennent une bordure et ce n'est pas le programme d'affichage qui ajoutez une bordure ou une marge de CSS une marge?
Je ne connais pas parce que je ne suis pas capable de lire tout le code correctement, mais es-tu considéré quand est plus petit le maximum pour le faire Max afin que max peut sembler mieux
@Sirfartalot ouais est un problème de backend